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