【发布时间】:2013-08-31 05:13:40
【问题描述】:
我们都知道 R 中的函数 table。我正在寻找一个函数,以在使用 table(x,y) 时获得相同的输出,但不是针对 x 和 y 的每个值组合的计数,而是针对另一个变量 z 的计数。在 data.table 中,dt[,sum(z),by=c("x","y")] 可以做到这一点。但这并没有给我一个等于 table(x,y)- 输出的输出。我尝试了 dcast,但也没有得到我想要的
dt <- data.table(y=rep(letters[1:2],each=3),x=rep(letters[1:2],length=6),z=rep(letters [7],length=6))
y x z
1: a a g
2: a b g
3: a a g
4: b b g
5: b a g
6: b b g
它应该有这个输出,但计数为 g:
y
x a b
a 2 1
b 1 2
我想要这些结果,但是以表格的形式:
x y V1
1: a a 2
2: b a 1
3: b b 2
4: a b 1
【问题讨论】:
标签: r data.table plyr reshape