如何选择非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 x3

1   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 x3

12  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        y2

1  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        y2

1  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   z3

1     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 z3

7   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

回到顶部