gpt4 book ai didi

r - 如何在 r 中的两个变量中保留具有相同值的行?

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

我有一个包含多个变量的数据集,但我想保留基于两列的相同行。这是我想要做的一个例子:

a <- c(rep('A',3), rep('B', 3), rep('C',3))
b <- c(1,1,2,4,4,4,5,5,5)
df <- data.frame(a,b)

a b
1 A 1
2 A 1
3 A 2
4 B 4
5 B 4
6 B 4
7 C 5
8 C 5
9 C 5

我知道如果我使用重复函数我可以获得:

df[!duplicated(df),]

a b
1 A 1
3 A 2
4 B 4
7 C 5

但是由于 a 列上的级别为“A”在 b 中没有唯一值,我想删除这两个观察结果以获得一个新的 data.frame,如下所示:

  a b
4 B 4
7 C 5

我不介意在 b 中重复值, 只要对于 a 上的每个相同级别b 中有相同的值.

有没有办法做到这一点?谢谢!

最佳答案

也许是这个?

ag <- aggregate(b~a, df, unique)
ag[lengths(ag$b)==1,]

# a b
#2 B 4
#3 C 5

关于r - 如何在 r 中的两个变量中保留具有相同值的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40620959/

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