如何删除存储在列表中的 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
以上是 如何删除存储在列表中的 R 数据框中具有 NA 的行? 的全部内容, 来源链接: utcz.com/z/359187.html