2
基本上,我想用data.table
写以下dplyr
代码:一列到data.table添加具有更少的行大于列长度
library(dplyr)
set.seed(1)
df <- data.frame(a = 2:3)
(df2 <- group_by(df, a) %>%
do({b <- runif(as.numeric(.[1, 1]))
data.frame(b, c = rep(sum(b), nrow(.)))}))
随着data.table
,所述by
参数折叠的结果到单个每组的行,我不知道如何在简洁的代码中避免这个参数。
library(data.table)
set.seed(1)
dt <- data.table(a = 2:3)
(dt[ , b := runif(as.numeric(.SD[1, 1])), by = a])
(dt[ , c := sum(b), by = a])
'dt [,{b = runif(a);列表(b = b,c = sum(b))},by = a]' – Arun 2014-12-05 15:42:29