如何根据R数据框中的特定列删除包含缺失值的行?

如果我们要删除基于特定列的包含缺失值的行,则应通过忽略缺失值来选择该列。这可以通过使用is.na函数来完成。例如,如果我们有一个包含第x,y,z列的数据帧df,并且每个列都有一些缺失值,则可以将没有缺失值的x行选择为df [!is.na(df $x), ]。

示例

请看以下数据帧-

x1<−sample(c(NA,1,2,3,4),20,replace=TRUE)

x2<−sample(c(NA,5,10),20,replace=TRUE)

x3<−sample(c(NA,3,12,21,30),20,replace=TRUE)

x4<−sample(c(NA,54,65),20,replace=TRUE)

x5<−sample(c(NA,101,125,111),20,replace=TRUE)

x6<−sample(c(NA,500),20,replace=TRUE)

df<−data.frame(x1,x2,x3,x4,x5,x6)

df

输出结果

  x1 x2 x3 x4 x5 x6

1  4 10 21 54 NA NA

2  4 NA 21 65 NA 500

3 NA  5 NA NA 101 NA

4  3  5 NA NA NA NA

5  1  5 21 65 101 NA

6 NA 10 NA 65 111 500

7  2 NA NA NA NA NA

8 NA  5 NA NA 125 500

9  4 10 NA 54 NA NA

10 1 NA 12 NA 101 NA

11 4 NA 12 NA 101 NA

12 3  5 NA 65 111 NA

13 4 10 30 54 101 500

14 4  5 30 54 111 NA

15 3  5 NA 65 111 NA

16 1 NA 30 65 125 NA

17 1  5 3 65 125 500

18 3  5 NA NA 125 NA

19 NA NA 12 65 101 500

20 2  NA 21 54 111 NA

选择不包含缺失值的x1行-

示例

df[!is.na(df$x1),]

输出结果

x1 x2 x3 x4 x5 x6

1 4 10 21 54 NA NA

2 4 NA 21 65 NA 500

4 3 5 NA NA NA NA

5 1 5 21 65 101 NA

7 2 NA NA NA NA NA

9 4 10 NA 54 NA NA

10 1 NA 12 NA 101 NA

11 4 NA 12 NA 101 NA

12 3 5 NA 65 111 NA

13 4 10 30 54 101 500

14 4 5 30 54 111 NA

15 3 5 NA 65 111 NA

16 1 NA 30 65 125 NA

17 1 5 3 65 125 500

18 3 5 NA NA 125 NA

20 2 NA 21 54 111 NA

选择不包含缺失值的x2行-

示例

df[!is.na(df$x2),]

输出结果

x1 x2 x3 x4 x5 x6

1 4 10 21 54 NA NA

3 NA 5 NA NA 101 NA

4 3 5 NA NA NA NA

5 1 5 21 65 101 NA

6 NA 10 NA 65 111 500

8 NA 5 NA NA 125 500

9 4 10 NA 54 NA NA

12 3 5 NA 65 111 NA

13 4 10 30 54 101 500

14 4 5 30 54 111 NA

15 3 5 NA 65 111 NA

17 1 5 3 65 125 500

18 3 5 NA NA 125 NA

选择不包含缺失值的x3行-

示例

df[!is.na(df$x3),]

输出结果

x1 x2 x3 x4 x5 x6

1 4 10 21 54 NA NA

2 4 NA 21 65 NA 500

5 1 5 21 65 101 NA

10 1 NA 12 NA 101 NA

11 4 NA 12 NA 101 NA

13 4 10 30 54 101 500

14 4 5 30 54 111 NA

16 1 NA 30 65 125 NA

17 1 5 3 65 125 500

19 NA NA 12 65 101 500

20 2 NA 21 54 111 NA

选择不包含缺失值的x4行-

示例

df[!is.na(df$x4),]

输出结果

x1 x2 x3 x4 x5 x6

1 4 10 21 54 NA NA

2 4 NA 21 65 NA 500

5 1 5 21 65 101 NA

6 NA 10 NA 65 111 500

9 4 10 NA 54 NA NA

12 3 5 NA 65 111 NA

13 4 10 30 54 101 500

14 4 5 30 54 111 NA

15 3 5 NA 65 111 NA

16 1 NA 30 65 125 NA

17 1 5 3 65 125 500

19 NA NA 12 65 101 500

20 2 NA 21 54 111 NA

选择不包含缺失值的x5行-

示例

df[!is.na(df$x5),]

输出结果

x1 x2 x3 x4 x5 x6

3 NA 5 NA NA 101 NA

5 1 5 21 65 101 NA

6 NA 10 NA 65 111 500

8 NA 5 NA NA 125 500

10 1 NA 12 NA 101 NA

11 4 NA 12 NA 101 NA

12 3 5 NA 65 111 NA

13 4 10 30 54 101 500

14 4 5 30 54 111 NA

15 3 5 NA 65 111 NA

16 1 NA 30 65 125 NA

17 1 5 3 65 125 500

18 3 5 NA NA 125 NA

19 NA NA 12 65 101 500

20 2 NA 21 54 111 NA

选择不包含缺失值的x6行-

示例

df[!is.na(df$x6),]

输出结果

 x1 x2 x3 x4 x5 x6

2 4 NA 21 65 NA 500

6 NA 10 NA 65 111 500

8 NA 5 NA NA 125 500

13 4 10 30 54 101 500

17 1 5 3 65 125 500

19 NA NA 12 65 101 500

以上是 如何根据R数据框中的特定列删除包含缺失值的行? 的全部内容, 来源链接: utcz.com/z/345541.html

回到顶部