【发布时间】:2018-09-15 17:42:52
【问题描述】:
我想根据条件过滤以下 R 数据帧,即如果“分数”列在同一 ID 中没有 A,则删除与该 ID 关联的行。例如,对于 ID 号 2,只有 C 和 B,而没有 A。所以删除 ID 号为 2 的行。
dat <- structure(list(ID = c(1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L, 3L),
Score = structure(c(1L, 1L, 2L, 3L, 2L, 2L, 2L, 3L, 3L, 1L
), .Label = c("A", "B", "C"), class = "factor"), Info = c(1L,
10L, 7L, 8L, 9L, 1L, 7L, 8L, 3L, 2L)), class = "data.frame", row.names = c("1",
"2", "3", "4", "5", "6", "7", "8", "9", "10"))
dat
ID Score Info
1 1 A 1
2 1 A 10
3 1 B 7
4 2 C 8
5 2 B 9
6 2 B 1
7 3 B 7
8 3 C 8
9 3 C 3
10 3 A 2
输出如下:
ID Score Info
1 1 A 1
2 1 A 10
3 1 B 7
4 3 B 7
5 3 C 8
6 3 C 3
7 3 A 2
任何帮助将不胜感激。
【问题讨论】:
标签: r dataframe filter subset data-manipulation