我有一个由一些data.tables组成的列表,它们都具有完全相同的结构
dt1 <- data.table(A=1:10, B=letters[1:10], C=rnorm(10))
dt2 <- data.table(A=1:10, B=letters[11:20], C=rnorm(10))
dt3 <- data.table(A=1:10, B=letters[15:24], C=rnorm(10))
dt.list <- list(dt1,dt2,dt3)
如何在列表中的每个data.table元素上一次使用data.table的特殊子集语法/功能?例如,对dt[, sum(A), by=B]
中的每个data.table执行此dt.list
?
我认为这样的lapply(dt.list, '[', (,sum(A), by=B))
可能有用,因为它有效:lapply(dt.list, '[', A==5)
但是唉,它没有。
我想将结果保存为data.tables的新列表。也有兴趣了解我如何合并:=
。谢谢你的帮助。