假設我有一個data.table
按列名data.table操作
a <- data.table(id=c(1,1,2,2,3),a=21:25,b=11:15,key="id")
我可以添加新的列是這樣的:
a[, sa := sum(a), by="id"]
a[, sb := sum(b), by="id"]
> a
id a b sa sb
1: 1 21 11 43 23
2: 1 22 12 43 23
3: 2 23 13 47 27
4: 2 24 14 47 27
5: 3 25 15 25 15
然而,假設我有列名代替:
for (n in c("a","b")) {
s <- paste0("s",n)
a[, s := sum(n), by="id", with=FALSE] # ERROR: invalid 'type' (character) of argument
}
我該怎麼辦?
可能相關:http:///stackoverflow.com/q/16617226/324364 – joran
和老一點:http://stackoverflow.com/a/12392269/1412059 – Roland
...和1.6從data.table常見問題。 – joran