我想聚合R数据表的列,但提供列名作为字符串.是否可以使用数据表功能来实现?
例如,我想重现:
foo[,newcol:=mean(oldcol),by=id]
但是使用字符串作为列名,例如:
foo[,"newcol":=mean("oldcol"),by="id"]
我试过了:
foo[,"newcol":=mean(foo[["oldcol"]]),by="id"]
这是有效的,但它很慢,因为它没有充分利用数据表.
谢谢!
解决方法
使用get:
foo[,"newcol":=mean(get("oldcol")),by="id"]
但我不确定你会不会使用get获得相同的性能.