如何将多个函数应用于R中的data.table

时间:2014-02-17 06:36:46

标签: r data.table

我试着这样做:

DT <- data.table(Monthname = month.name, id = 1:3, a = abs(rnorm(12)), b = abs(rnorm(12)), c = abs(rnorm(12)), d = abs(rnorm(12)))
setkey(DT, id)
ANS <- DT[,lapply(.SD, mean)/lapply(.SD, sd), by = 'id', .SDcols = names(DT)[-1]]

但它给出了错误。那么,有没有办法做到这一点?谢谢。

1 个答案:

答案 0 :(得分:2)

就像在其他情境中使用lapply一样:

ANS <- DT[,lapply(.SD, function(x) mean(x)/sd(x) ), by = 'id', .SDcols = names(DT)[-1]]