这是一个样本数据集。
a <- structure(list(ID = c("A1", "A2", "A3", "A1", "A1", "A2", "A4", "A5", "A2", "A3"),
Type = c("A", "B", "C", "A", "A", "A", "B", "B", "C", "B"),
Alc = c("E", "F", "G", "E", "E", "E", "F", "F", "F", "F"),
Com = c("Y", "N", "Y", "N", "Y", "Y", "Y", "N", "N", "Y")),
.Names = c("ID", "Type", "Alc", "Com"), row.names = c(NA, -10L), class = "data.frame")
a
ID Type Alc Com
1 A1 A E Y
2 A2 B F N
3 A3 C G Y
4 A1 A E N
5 A1 A E Y
6 A2 A E Y
7 A4 B F Y
8 A5 B F N
9 A2 C F N
10 A3 B F Y
我想要一个没有&#34; E&#34;的数据集。在Alc。我做了以下几点。
library(dplyr)
b <- filter(a, Alc=="G"| Alc=="F")
b
ID Type Alc Com
1 A2 B F N
2 A3 C G Y
3 A4 B F Y
4 A5 B F N
5 A2 C F N
6 A3 B F Y
如果Alc中有很多类别,那么写下所有类别会很麻烦。我需要一个简单的解决方法。
感谢您的帮助。
答案 0 :(得分:3)
您可以使用&#34;不等于&#34; operator !=
b <- filter(a, Alc!="E")
答案 1 :(得分:1)
尝试:
a[a$Alc!='E',]
ID Type Alc Com
2 A2 B F N
3 A3 C G Y
7 A4 B F Y
8 A5 B F N
9 A2 C F N
10 A3 B F Y
答案 2 :(得分:0)
尝试
subset(a,Alc $in$ c("G","F"))
,这是操作数据框对象的常用方法,以及标准子集括号函数[ ]
。另请参阅drop
的{{1}}参数。