如何通过指定包含 NA 的列来筛选 R 数据框?
要通过指定包含 NA 的列来筛选 R 数据框,我们可以按照以下步骤操作:
首先,创建一个包含一些列(其中包含 NA)的数据框。
然后,使用 is.na 和 subset 函数来筛选数据框,并指定包含 NA 的列。
示例
创建数据框
让我们创建一个如下所示的数据框:
x<-sample(c(NA,1,2,3),25,replace=TRUE) y<-sample(c(NA,10,12,20),25,replace=TRUE) z<-sample(c(NA,100,120,180),25,replace=TRUE) a<-sample(c(NA,80,77,62),25,replace=TRUE) df<-data.frame(x,y,z,a) df
输出
执行上述脚本后,会生成以下输出(由于随机化,此输出在您的系统上可能会有所不同):
x y z a 1 1 NA 100 62 2 2 NA NA 62 3 3 20 120 77 4 NA 20 180 62 5 1 NA NA NA 6 2 20 NA 62 7 3 10 180 62 8 2 10 120 62 9 1 12 NA 77 10 3 NA 100 62 11 1 10 NA 77 12 NA 12 180 77 13 NA NA 180 77 14 2 NA 180 62 15 3 10 NA 80 16 3 NA 100 80 17 1 20 120 80 18 1 10 120 80 19 1 12 100 NA 20 1 12 100 NA 21 1 10 180 77 22 1 12 NA 80 23 1 NA NA 80 24 NA 10 100 NA 25 3 20 NA 62
通过指定包含 NA 的列来筛选数据框
使用 is.na 和 subset 函数来筛选数据框 df,并指定包含 NA 的列 x 和 z,如下所示:
x<-sample(c(NA,1,2,3),25,replace=TRUE) y<-sample(c(NA,10,12,20),25,replace=TRUE) z<-sample(c(NA,100,120,180),25,replace=TRUE) a<-sample(c(NA,80,77,62),25,replace=TRUE) df<-data.frame(x,y,z,a) subset(df,is.na(x)|is.na(z))
输出
x y z a 2 2 NA NA 62 4 NA 20 180 62 5 1 NA NA NA 6 2 20 NA 62 9 1 12 NA 77 11 1 10 NA 77 12 NA 12 180 77 13 NA NA 180 77 15 3 10 NA 80 22 1 12 NA 80 23 1 NA NA 80 24 NA 10 100 NA 25 3 20 NA 62
广告