当by包含get时,奇怪的R data.table错误

时间:2017-01-11 09:13:27

标签: r data.table

get函数通常在data.table中没有问题,但我无法理解这个错误的原因。

library(data.table)
tb<-data.table(x=c(1,2), y=c(3,4), z=c(5,6), w=c("a","b"))
tb[w != "b", .(x=sum(x)), by=.(y, zz=z)] #OK
   y zz x
1: 3  5 1
tb[, .(x=sum(x)), by=.(y, zz=get("z"))] #OK
   y zz x
1: 3  5 1
2: 4  6 2
tb[w != "b", .(x=sum(x)), by=.(y, zz=get("z"))] #not OK?!
Error in get("z") : object 'z' not found

(我使用R版本3.3.2和data.table版本1.9.6。)

0 个答案:

没有答案