gpt4 book ai didi

r - 按两个变量分组的计数变量

转载 作者:行者123 更新时间:2023-12-04 04:43:56 25 4
gpt4 key购买 nike

我们都知道函数table在 R 中。我正在寻找使用 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

最佳答案

DF <- data.frame(y=rep(letters[1:2],each=3),
x=rep(letters[1:2],length=6),
z=rep(letters [7],length=6))

tapply(X=DF$z, INDEX=list(DF$x, DF$y), FUN=length)
# a b
#a 2 1
#b 1 2

关于r - 按两个变量分组的计数变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18482669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com