gpt4 book ai didi

r - 使用 "by"中的因子列并且不要丢弃空因子

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

假设我有一个 data.table:

x <- data.table(x=runif(3), group=factor(c('a','b','a'), levels=c('a','b','c')))

我想知道 x中有多少行每个 group 都存在:
x[, .N, by="group"]
# group N
# 1: a 2
# 2: b 1

问题:有什么办法可以强制上面的by="group"考虑所有水平的因子group ?

请注意,因为我没有任何行 with group 'c' 在表中,我没有得到 c 的一行。

期望的输出:
x[, .N, by="group", ???] # somehow use all levels in `group`
# group N
# 1: a 2
# 2: b 1
# 3: c 0

最佳答案

如果您愿意通过在 i 中枚举它们来遍历因子水平(而不是通过设置 by="group" ),这将为您带来希望的结果。

setkey(x, "group")
x[levels(group), .N, by=.EACHI]
# group N
# 1: a 2
# 2: b 1
# 3: c 0

关于r - 使用 "by"中的因子列并且不要丢弃空因子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16542193/

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