小编ili*_*lir的帖子

R:需要帮助来加速在data.frame中创建新列

我需要帮助来加速一些代码.我有一个data.frame"df",并希望创建新的列并用给定的值填充它们.这里是一个示例代码,我是如何做到的.

df <- as.data.frame(1:20)

a <- c(31:50)
b <- c(201:220)

df[c("A","B")] <- c(a, b) 
Run Code Online (Sandbox Code Playgroud)

现在问题是我的数据很大(几百万行)并且花费的时间比预期的多,所以我认为有更好的方法.有任何想法吗?谢谢!

performance r dataframe data.table

1
推荐指数
1
解决办法
177
查看次数

使用R进行数据重组

我有一个如下所示的数据集(dat):

 Person       IPaddress
36598035    222.999.22.99
36598035    222.999.22.99
36598035    222.999.22.99
36598035    222.999.22.99
36598035    222.999.22.99
36598035    444.666.44.66
37811171    111.88.111.88
37811171    111.88.111.88
37811171    111.88.111.88
37811171    111.88.111.88
37811171    111.88.111.88
Run Code Online (Sandbox Code Playgroud)

它反映了在一段时间内登录网站的个人的实例.我需要数据看起来像这样:

Person        IPaddress      Number of Logins
36598035    222.999.22.99           6
37811171    111.88.111.88           5
Run Code Online (Sandbox Code Playgroud)

因此,对于同一个人而言,不是多个条目,每个人只有一行,并且计算他们登录的次数.

此外,您将在我的示例中注意到,人员36598035在多于1个IP地址下登录.发生这种情况时,我希望最终数据集中的IP地址反映模式IP地址 - 换句话说,个人最常登录的IP地址.

r split-apply-combine

1
推荐指数
1
解决办法
96
查看次数