如何检查 R 数据框中是否存在某个值?

r programmingserver side programmingprogramming更新于 2025/4/11 12:22:17

有许多小目标可以帮助我们在数据分析中实现更大的目标。其中一个小目标就是检查数据集中是否存在某个值。在 R 中,我们有许多数据集对象,例如数据框、矩阵、data.table 对象等。如果我们想检查 R 数据框中是否存在某个值,那么可以使用任何函数。

示例

考虑以下数据框:

> set.seed(3654)
> x1<-rpois(20,5)
> x2<-rpois(20,8)
> x3<-rpois(20,10)
> x4<-rpois(20,3)
> df1<-data.frame(x1,x2,x3,x4)
> df1

输出

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

检查 df1 中是否存在特定值:

> any(df1==4)
[1] TRUE
> any(df1==5)
[1] TRUE
> any(df1==20)
[1] FALSE
> any(df1==8)
[1] TRUE
> any(df1==15)
[1] TRUE
> any(df1==12)
[1] TRUE

让我们看另一个例子:

示例

> S1<-sample(LETTERS[1:10],20,replace=TRUE)
> S2<-sample(LETTERS[21:26],20,replace=TRUE)
> df2<-data.frame(S1,S2)
> df2

输出

  S1 S2
1  G W
2  C V
3  J W
4  E Y
5  H W
6  H V
7  H U
8  C W
9  A W
10 J W
11 J U
12 D V
13 C U
14 J W
15 G U
16 E X
17 D Y
18 B X
19 E U
20 I U

示例

> any(df2=="A")
[1] TRUE
> any(df2=="B")
[1] TRUE
> any(df2=="C")
[1] TRUE
> any(df2=="c")
[1] FALSE
> any(df2=="e")
[1] FALSE
> any(df2=="F")
[1] FALSE
> any(df2=="J")
[1] TRUE
> any(df2=="M")
[1] FALSE
> any(df2=="N")
[1] FALSE

相关文章