gpt4 book ai didi

r - 检查变量并根据组所属对它们进行分组

转载 作者:行者123 更新时间:2023-12-02 19:20:17 25 4
gpt4 key购买 nike

我想检查变量并根据它们所属的组对它们进行分组。如果它们同时属于这两个组,则会用 “X” 标记。

grp1 <- c("A","B","C","D","E")
grp2 <- c("F","G","H","I","J","K")
DF <- data.frame(id = c(1,1,2,3,3), dis = c("A","B","H","B","K"))
DF
id dis
1 1 A
2 1 B
3 2 H
4 3 B
5 3 K

结果应该如下所示:

  id dis grp
1 1 A 1
2 1 B 1
3 2 H 2
4 3 B X
5 3 K X

有什么好的想法吗?

最佳答案

通过 ave 的另一个基本 R 选项

within(DF, grp <- ave(dis, id, FUN = function(x) {
if (all(x %in% grp1)) {
"1"
} else if (all(x %in% grp2)) {
"2"
} else {
"x"
}
}))

这给出了

  id dis grp
1 1 A 1
2 1 B 1
3 2 H 2
4 3 B x
5 3 K x

关于r - 检查变量并根据组所属对它们进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63160924/

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