如何检查R数据帧中是否存在值?

有许多小的目标可以帮助我们在数据分析中实现更大的目标。如此小的目标之一就是检查数据集中是否存在值。在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