Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根据R中数据帧中另一列的条件筛选数据帧_R_Dataframe_Filter_Subset_Data Manipulation - Fatal编程技术网

根据R中数据帧中另一列的条件筛选数据帧

根据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"),

我想根据一个条件筛选以下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"))
输出如下:

       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)