gpt4 book ai didi

r - 基于唯一匹配条件的过滤

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

我正在尝试执行一条命令,只保留 D,其中 XY = "34"时相同.我想一个相当简单的 filter 就可以解决问题,但我一直被卡住了。

数据如下所示:

 D   X     Y
1 20 30
2 22 34
3 22 34
4 22 36
5 24 34
6 24 34
7 24 39
8 28 39

我正在寻找的输出是这样的:

 D   X     Y
2 22 34
3 22 34
4 22 36
5 24 34
6 24 34
7 24 39

谢谢!

最佳答案

我们可以使用 any 检查在按 'X' 分组后 'Y' 中是否有值 34 以返回这些组

library(dplyr)
df1 %>%
group_by(X) %>%
filter(any(Y == 34))

-输出

# A tibble: 6 x 3
# Groups: X [2]
# D X Y
# <int> <int> <int>
#1 2 22 34
#2 3 22 34
#3 4 22 36
#4 5 24 34
#5 6 24 34
#6 7 24 39

数据

df1 <- structure(list(D = 1:8, X = c(20L, 22L, 22L, 22L, 24L, 24L, 24L, 
28L), Y = c(30L, 34L, 34L, 36L, 34L, 34L, 39L, 39L)),
class = "data.frame", row.names = c(NA,
-8L))

关于r - 基于唯一匹配条件的过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65268294/

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