gpt4 book ai didi

r - 根据唯一/不同值的数量选择组

转载 作者:行者123 更新时间:2023-12-04 10:00:34 24 4
gpt4 key购买 nike

我有一个如下数据框

sample <- data.frame(ID = 1:9,
Group = c('AA','AA','AA','BB','BB','CC','CC','BB','CC'),
Value = c(1,1,1,2,2,2,3,2,3))

ID Group Value
1 AA 1
2 AA 1
3 AA 1
4 BB 2
5 BB 2
6 CC 2
7 CC 3
8 BB 2
9 CC 3

我想根据每个组中不同(唯一)值的数量选择组。例如,选择组中所有值都相同的组(每个组一个不同的值)。如果查看组CC,则它具有多个不同的值(2和3),因此应将其删除。其他组,只有一个独特的值(value),应该保留。所需的输出:
ID       Group    Value
1 AA 1
2 AA 1
3 AA 1
4 BB 2
5 BB 2
8 BB 2

您能告诉我用R来解决问题的简单快速的代码吗?

最佳答案

您可以通过多种方式使用sampleave选择器。

sample[ ave( sample$Value, sample$Group, FUN = function(x) length(unique(x)) ) == 1,]

或者
sample[ ave( sample$Value, sample$Group, FUN = function(x) sum(x - x[1]) ) == 0,]

或者
sample[ ave( sample$Value, sample$Group, FUN = function(x) diff(range(x)) ) == 0,]

关于r - 根据唯一/不同值的数量选择组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21421031/

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