如何选择非NA的R数据帧的行?
要选择非 Na 的 R 数据帧的行,我们可以使用complete.cases带有单个方括号的函数。例如,如果我们有一个包含一些缺失值 (NA) 的数据框,那么可以使用命令 df[ ,]来选择非 NA 的行。complete.cases(df)
示例 1
考虑以下数据框 -
> x1<-sample(c(1,NA),20,replace=TRUE)输出结果> x2<-sample(c(5,NA),20,replace=TRUE)
> x3<-sample(c(3,NA),20,replace=TRUE)
> df1<-data.frame(x1,x2,x3)
> df1
x1 x2 x31 1 NA NA
2 NA 5 3
3 1 5 NA
4 1 NA NA
5 NA 5 NA
6 NA 5 3
7 NA 5 NA
8 1 NA 3
9 NA 5 NA
10 NA 5 NA
11 NA NA NA
12 1 5 3
13 NA 5 3
14 NA NA NA
15 1 NA NA
16 NA 5 3
17 NA NA 3
18 NA NA NA
19 1 NA 3
20 NA NA 3
选择不包含任何 NA 的 df1 行 -
> df1[complete.cases(df1),]输出结果
x1 x2 x312 1 5 3
例2
> y1<-sample(c(rnorm(2),NA),20,replace=TRUE)输出结果> y2<-sample(c(rnorm(2),NA),20,replace=TRUE)
> df2<-data.frame(y1,y2)
> df2
y1 y21 0.15079115 -0.626630
2 0.15079115 NA
3 NA -0.626630
4 0.15079115 -0.626630
5 0.15079115 NA
6 0.15079115 -0.626630
7 0.15079115 NA
8 0.15079115 -1.691553
9 NA -1.691553
10 NA -0.626630
11 0.15079115 -1.691553
12 0.15079115 NA
13 NA -1.691553
14 NA -1.691553
15 0.15079115 -1.691553
16 NA -0.626630
17 0.01495388 -0.626630
18 0.01495388 -1.691553
19 0.15079115 -1.691553
20 NA NA
选择不包含任何 NA 的 df2 行 -
> df2[complete.cases(df2),]输出结果
y1 y21 0.15079115 -0.626630
4 0.15079115 -0.626630
6 0.15079115 -0.626630
8 0.15079115 -1.691553
11 0.15079115 -1.691553
15 0.15079115 -1.691553
17 0.01495388 -0.626630
18 0.01495388 -1.691553
19 0.15079115 -1.691553
例3
> z1<-sample(c("A",NA),20,replace=TRUE)输出结果> z2<-sample(c("B",NA),20,replace=TRUE)
> z3<-sample(c("C",NA),20,replace=TRUE)
> df3<-data.frame(z1,z2,z3)
> df3
z1 z2 z31 A <NA> C
2 <NA> B C
3 <NA> <NA> <NA>
4 A B <NA>
5 <NA> <NA> C
6 A <NA> C
7 A B C
8 <NA> B C
9 <NA> <NA> C
10 <NA> <NA> C
11 A <NA> C
12 <NA> <NA> C
13 A B C
14 A B C
15 <NA> <NA> <NA>
16 A B C
17 <NA> <NA> <NA>
18 <NA> <NA> C
19 A B C
20 <NA> <NA> <NA>
选择不包含任何 NA 的 df3 行 -
> df3[complete.cases(df3),]输出结果
z1 z2 z37 A B C
13 A B C
14 A B C
16 A B C
19 A B C
以上是 如何选择非NA的R数据帧的行? 的全部内容, 来源链接: utcz.com/z/327583.html