data.table使用密钥中的因子来聚合数据时出现问题

时间:2014-07-29 03:02:13

标签: r data.table

当我尝试使用密钥中的因子聚合data.table时,我得到了一些奇怪的结果。我已将此问题简化为此示例。

#v1, v2 as character vectors
dt<-data.table(grp=c(1,1,2,2), v1=c("a","a","a","b"), v2=c("a","a","b","b"))
dt[,list(length(which(v1==v2))), by=list(grp,v2)]
   grp v2 V1
1:   1  a  2
2:   2  b  1

#v1, v2 as factor vectors
dt<-data.table(grp=c(1,1,2,2), v1=as.factor(c("a","a","a","b")), v2=as.factor(c("a","a","b","b")))
dt[,list(length(which(v1==v2))), by=list(grp,v2)]
   grp v2 V1
1:   1  a  0
2:   2  b  0

这是一个错误还是我错过了什么?上述两个陈述不应该给出相同的结果吗?感谢

编辑:我正在使用data.table版本1.9.2

0 个答案:

没有答案