根据R中数据帧中另一列的条件筛选数据帧
我想根据一个条件筛选以下R数据帧,即如果列分数在同一ID内没有a,则删除与ID关联的行。例如,对于ID号2,只有C和B,但没有a。因此,删除ID号为2的行根据R中数据帧中另一列的条件筛选数据帧,r,dataframe,filter,subset,data-manipulation,R,Dataframe,Filter,Subset,Data Manipulation,我想根据一个条件筛选以下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"),
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"))
输出如下:
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
任何帮助都将不胜感激 使用dplyr很容易做到这一点。你能行
library(dplyr)
dat %>%
group_by(ID) %>%
filter("A" %in% Score)
使用dplyr很容易做到这一点。你能行
library(dplyr)
dat %>%
group_by(ID) %>%
filter("A" %in% Score)