如何在 R 中找出 %in% 的相反数?


要找到 %in% 的相反数,我们可以使用取反运算符 !(感叹号)。例如,如果我们有一个数据框 df,其中包含一个列 x,那么要通过排除一些值(比如 2、3)对 df 执行子集选取,我们可以使用如下命令:subset(df,!(x %in% c(2,3)))。

示例 1

考虑下面的数据框 -

 实战演示

x1<-rpois(20,5)
y1<-rpois(20,5)
df1<-data.frame(x1,y1)
df1

输出

   x1 y1
1  5  2
2  5  8
3  6  5
4  7  2
5  7  6
6  5  3
7  3  4
8  3  8
9  7  4
10 4  4
11 7  4
12 7  5
13 8  7
14 7  6
15 4  4
16 5  7
17 6  7
18 3  6
19 3  5
20 5  6

使用 %in% 的相反数对 df1 执行子集选取 -

subset(df1,!(x1 %in% c(7,6,4)))

   x1 y1
1  5  2
2  5  8
6  5  3
7  3  4
8  3  8
13 8  7
16 5  7
18 3  6
19 3  5
20 5  6

示例 2

 实战演示

x2<-sample(LETTERS[1:5],20,replace=TRUE)
y2<-sample(LETTERS[1:3],20,replace=TRUE)
df2<-data.frame(x2,y2)
df2

输出

   x2 y2
1  A  B
2  D  B
3  C  A
4  D  C
5  D  B
6  A  C
7  A  A
8  B  C
9  E  C
10 D  A
11 D  B
12 D  B
13 E  C
14 B  C
15 B  A
16 B  A
17 C  B
18 E C
19 A C
20 C B

使用 %in% 的相反数对 df2 执行子集选取 -

subset(df2,!(x2 %in% c("D","E")))

   x2 y2
1  A  B
3  C  A
6  A  C
7  A  A
8  B  C
14 B  C
15 B  A
16 B  A
17 C  B
19 A  C
20 C  B

更新日期:2021-03-06

4K+ 浏览量

开始你的 职业生涯

完成课程并获得认证

开始
广告