如何删除R列表中数据框中包含NA的行?
要删除R列表中存储的数据框中包含NA的行,我们可以结合使用lapply函数和na.omit函数。
例如,如果我们有一个名为LIST的列表,其中包含一些数据框,每个数据框都包含一些缺失值,那么可以通过使用以下命令从这些数据框中删除包含缺失值的行:
lapply(LIST,na.omit)
查看下面的示例以了解其工作原理。
示例
以下代码片段创建一个示例数据框:
df1<-data.frame(x1=rnorm(20),x2=sample(c(NA,2,5),20,replace=TRUE),x3=rnorm(20)) df2<-data.frame(y1=rpois(20,2),x2=rpois(20,5),x3=sample(c(NA,3,1),20,replace=TRUE)) df3<-data.frame(z1=sample(c(NA,35,40),20,replace=TRUE),z2=rpois(20,1),z3=rpois(20,3)) List<-list(df1,df2,df3) List
输出
创建以下数据框:
[[1]] x1 x2 x3 1 0.6335449 2 -0.22124641 2 0.3349365 5 -0.54942283 3 0.9501903 NA 0.16557880 4 1.5303796 2 -2.08566142 5 0.4384521 NA -0.67675747 6 -2.7142501 2 -0.12101118 7 -0.7043597 5 -0.56138587 8 0.5291248 NA -1.41423100 9 -1.4908927 2 -1.02494189 10 0.7306274 NA -0.27786609 11 0.2796165 2 1.09441626 12 0.1193108 2 -0.44195048 13 0.2438589 NA 0.79697076 14 0.7290668 NA -0.89008018 15 -1.2803967 5 1.24610229 16 -0.4271407 NA 0.12830629 17 -0.2131141 5 0.06398567 18 1.0359205 2 0.65339733 19 0.1116563 2 -2.34618128 20 -0.3049548 5 -0.45742539 [[2]] y1 x2 x3 1 0 8 3 2 2 7 3 3 2 6 3 4 0 9 NA 5 2 5 3 6 2 8 NA 7 1 2 3 8 0 6 1 9 1 8 NA 10 0 5 3 11 3 5 NA 12 3 6 NA 13 3 5 3 14 0 7 1 15 2 10 1 16 1 7 1 17 3 0 1 18 0 4 1 19 1 4 3 20 0 4 NA [[3]] z1 z2 z3 1 40 2 3 2 NA 0 1 3 35 1 2 4 40 2 3 5 35 2 1 6 NA 0 3 7 35 1 6 8 NA 1 2 9 35 2 4 10 35 2 0 11 40 2 2 12 35 1 2 13 NA 2 3 14 NA 2 5 15 NA 1 2 16 NA 1 2 17 40 1 2 18 35 1 3 19 40 0 0 20 40 2 5
将以下代码添加到上面的代码片段中:
df1<-data.frame(x1=rnorm(20),x2=sample(c(NA,2,5),20,replace=TRUE),x3=rnorm(20)) df2<-data.frame(y1=rpois(20,2),x2=rpois(20,5),x3=sample(c(NA,3,1),20,replace=TRUE)) df3<-data.frame(z1=sample(c(NA,35,40),20,replace=TRUE),z2=rpois(20,1),z3=rpois(20,3)) List<-list(df1,df2,df3) lapply(List,na.omit)
输出
如果将以上所有代码片段作为单个程序执行,则会生成以下输出:
[[1]] x1 x2 x3 1 0.6335449 2 -0.22124641 2 0.3349365 5 -0.54942283 4 1.5303796 2 -2.08566142 6 -2.7142501 2 -0.12101118 7 -0.7043597 5 -0.56138587 9 -1.4908927 2 -1.02494189 11 0.2796165 2 1.09441626 12 0.1193108 2 -0.44195048 15 -1.2803967 5 1.24610229 17 -0.2131141 5 0.06398567 18 1.0359205 2 0.65339733 19 0.1116563 2 -2.34618128 20 -0.3049548 5 -0.45742539 [[2]] y1 x2 x3 1 0 8 3 2 2 7 3 3 2 6 3 5 2 5 3 7 1 2 3 8 0 6 1 10 0 5 3 13 3 5 3 14 0 7 1 15 2 10 1 16 1 7 1 17 3 0 1 18 0 4 1 19 1 4 3 [[3]] z1 z2 z3 1 40 2 3 3 35 1 2 4 40 2 3 5 35 2 1 7 35 1 6 9 35 2 4 10 35 2 0 11 40 2 2 12 35 1 2 17 40 1 2 18 35 1 3 19 40 0 0 20 40 2 5
广告