如何在R数据帧的列之一中对不包含NA和空白的行进行子集化?

我们有可能获得其中一列包含NA以及空白的数据集,因此,有必要处理这些值。处理这些值的方法之一是选择没有它们的行。这可以通过在单个方括号中进行子设置来完成。

示例

请看以下数据帧-

> set.seed(1)

> x1<-sample(1:50,20)

> x2<-rep(c(1,"",3,4),times=5)

> x3<-rep(c(5,NA,10,"",20),each=4)

> df<-data.frame(x1,x2,x3)

> df

  x1 x2 x3

1 4 1 5

2 39 5

3 1 3 5

4 34 4 5

5 23 1 <NA>

6 43 <NA>

7 14 3 <NA>

8 18 4 <NA>

9 33 1 10

10 21 10

11 41 3 10

12 10 4 10

13 7 1

14 9

15 15 3

16 40 4

17 25 1 20

18 47 20

19 12 3 20

20 36 4 20

子集行,其中x3既不是NA也不是空白-

> df[!(is.na(df$x3) | df$x3==""), ]

x1 x2 x3

1 4 1 5

2 39 5

3 1 3 5

4 34 4 5

9 33 1 10

10 21 10

11 41 3 10

12 10 4 10

17 25 1 20

18 47 20

19 12 3 20

20 36 4 20

子集x2不为空的行-

> df[!(df$x2==""), ]

x1 x2 x3

1 4 1 5

3 1 3 5

4 34 4 5

5 23 1 <NA>

7 14 3 <NA>

8 18 4 <NA>

9 33 1 10

11 41 3 10

12 10 4 10

13 7 1

15 15 3

16 40 4

17 25 1 20

19 12 3 20

20 36 4 20

以上是 如何在R数据帧的列之一中对不包含NA和空白的行进行子集化? 的全部内容, 来源链接: utcz.com/z/334939.html

回到顶部