我创建了一个data.table,例如如下所示:
a b c exposure
1 2 3 0.5
1 2 3 0.5
4 5 6 0.75
4 5 6 0.25
我通过a,b和c变量的唯一组合对曝光列中的值求和。使用data.table,我的命令是
data1 <- data[, .(final = sum(exposure)), by = list(a, b, c)]
正如所料,这导致:
a b c final
1 2 3 1
4 5 6 1
但是,当我尝试使用
检索唯一值时unique(data1$final)
我得到:1 1
我尝试使用str和class来查看1是不同的数据类型,但它们都是数字的。当我尝试
unique(data1$final) == c(1,1) ## the result is TRUE FALSE
您对如何调试此问题有任何建议吗?或者为什么unique返回相同的值?理想情况下,我正在尝试创建一个检查,指出只有一个唯一值(等于1)的总和行。