gpt4 book ai didi

R:根据另一列中的值计算一列中值的数量

转载 作者:行者123 更新时间:2023-12-04 11:36:29 26 4
gpt4 key购买 nike

我有一个不太清楚的问题,所以我希望我能解释清楚。我正在使用 R。我知道 for 循环在 R 中可能会很慢,但对我来说,在这种情况下使用 for 循环是可以的。

我有一个这样的数据框:

    id_A    id_B    id_C    calc_A  calc_B  calc_C  
1 x,z d g,f 1 1 5
2 x,y,z d,e f 1 2 8
3 y,z d,e g 6 7 1

我还有一个名称为 c('A', 'B', 'C', etc.) 的向量我想要做的是计算每一行,有多少 idcalc <= 2。id_A 链接到 calc_A

例如,对于第一行,A 和 B 的 calc 值 <= 2,A 和 B 一起有 3 个 id。所以输出将是这样的:

   count
1 3
2 5
3 1

最佳答案

有点乱,但这应该可以解决问题(对于 data.frame d):

# store indices of calc columns and id columns
calc.cols <- grep('^calc', names(d))
id.cols <- grep('^id', names(d))

sapply(split(d, seq_len(nrow(d))), function(x) {
length(unique(unlist(strsplit(paste(x[, id.cols][which(x[, calc.cols] <= 2)],
collapse=','), ','))))
})

# 1 2 3
# 3 5 1

关于R:根据另一列中的值计算一列中值的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26626580/

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