当以不同方式指定所选列时,R data.table返回重复行

时间:2016-09-01 01:29:16

标签: r data.table

我希望两种方式都能返回相同的data.table,你知道为什么结果会有所不同吗?

tmp <- data.table(a=c(1:9), b=c(11:19), c=c(rep(7:9, 3)),d=c(rep(4:6, 3)))

> tmp[, lapply(.SD, weighted.mean, x = a, w = b), by=c('c', 'd')]
   c d        a        b
1: 7 4 4.428571 4.428571
2: 8 5 5.400000 5.400000
3: 9 6 6.375000 6.375000
> 
> tmp[, .(lapply(.SD, weighted.mean, x = a, w = b)), by=c('c', 'd')]
   c d       V1
1: 7 4 4.428571
2: 7 4 4.428571
3: 8 5      5.4
4: 8 5      5.4
5: 9 6    6.375
6: 9 6    6.375

0 个答案:

没有答案