gpt4 book ai didi

r - 当 r 中的计数为零时按计数分组

转载 作者:行者123 更新时间:2023-12-01 09:20:16 24 4
gpt4 key购买 nike

我使用聚合函数按组获取计数。如果计数> 0,聚合函数仅返回组的计数。这就是我所拥有的

dt <- data.frame(
n = c(1,2,3,4,5,6),
id = c('A','A','A','B','B','B'),
group = c("x","x","y","x","x","x"))

应用聚合函数
my.count <- aggregate(n ~ id+group, dt, length)

现在看结果
my.count[order(my.count$id),]

我得到关注
id group   n
1 A x 2
3 A y 1
2 B x 3

我需要以下内容(最后一行是我需要的零)
id group   n
1 A x 2
3 A y 1
2 B x 3
4 B y 0

感谢您提前提供帮助

最佳答案

我们可以创建另一列“ind”,然后使用 dcast从“长” reshape 为“宽”,指定 fun.aggregatelengthdrop=FALSE .

library(reshape2)
dcast(transform(dt, ind='n'), id+group~ind,
value.var='n', length, drop=FALSE)
# id group n
#1 A x 2
#2 A y 1
#3 B x 3
#4 B y 0

base R选项是
 as.data.frame(table(dt[-1]))

关于r - 当 r 中的计数为零时按计数分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34348648/

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