R中的na.omit和complete.cases有什么区别?

na.omit函数将删除数据框中的所有缺失值,如果将complete.cases应用于整个数据框,它们也会执行相同的操作。两者之间的主要区别是complete.cases可以应用于某些列或行。查看以下示例以了解不同之处。

示例

请看以下数据帧:

> set.seed(2584)

> x<-sample(c(NA,2,8,6,5,4),20,replace=TRUE)

> y<-sample(c(NA,5,25),20,replace=TRUE)

> df<-data.frame(x,y)

> df

输出结果

   x y

1 NA 25

2 5 5

3 8 NA

4 6 5

5 4 NA

6 4 5

7 6 NA

8 4 NA

9 4 5

10 8 5

11 8 5

12 6 25

13 5 25

14 6 5

15 5 5

16 4 5

17 NA 25

18 8 NA

19 4 NA

20 8 5

将na.omit应用于df:

示例

> na.omit(df)

输出结果

  x y

2 5 5

4 6 5

6 4 5

9 4 5

10 8 5

11 8 5

12 6 25

13 5 25

14 6 5

15 5 5

16 4 5

20 8 5

将complete.cases应用于df:

示例

> df[complete.cases(df),]

输出结果

  x y

2 5 5

4 6 5

6 4 5

9 4 5

10 8 5

11 8 5

12 6 25

13 5 25

14 6 5

15 5 5

16 4 5

20 8 5

将complete.cases应用于df仅删除第1列中的缺失值:

示例

> df[complete.cases(df[,1]),]

输出结果

  x y

2 5 5

3 8 NA

4 6 5

5 4 NA

6 4 5

7 6 NA

8 4 NA

9 4 5

10 8 5

11 8 5

12 6 25

13 5 25

14 6 5

15 5 5

16 4 5

18 8 NA

19 4 NA

20 8 5

将complete.cases应用于df仅删除第2列中的缺失值:

示例

> df[complete.cases(df[,2]),]

输出结果

   x y

1 NA 25

2 5 5

4 6 5

6 4 5

9 4 5

10 8 5

11 8 5

12 6 25

13 5 25

14 6 5

15 5 5

16 4 5

17 NA 25

20 8 5

以上是 R中的na.omit和complete.cases有什么区别? 的全部内容, 来源链接: utcz.com/z/354924.html

回到顶部