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