我有一个像这样的数据框:
data <- data.frame(family.id = rep(1:6, each = 5),
member.id = rep(1:5, times = 6),
attribute = c(1,1,2,3,4,1,2,2,3,5,1,1,3,5,5,2,3,3,4,5,1,1,4,4,5,3,3,4,5,5) )
我想选择所有家庭成员,前提是其中至少有一个成员的属性等于 4。 请告诉我我该怎么办?
我更喜欢使用 dplyr 中的“group_by”命令。 请告诉我我该怎么办?
data %>%
filter(any(attribute == 4), .by = family.id)
family.id member.id attribute
1 1 1 1
2 1 2 1
3 1 3 2
4 1 4 3
5 1 5 4
6 4 1 2
7 4 2 3
8 4 3 3
9 4 4 4
10 4 5 5
11 5 1 1
12 5 2 1
13 5 3 4
14 5 4 4
15 5 5 5
16 6 1 3
17 6 2 3
18 6 3 4
19 6 4 5
20 6 5 5