48

我一直在研究 R 中的空气质量数据集,并弄清楚如何删除缺失值的行。我使用了以下命令:

complete.cases(airquality)
AQ1<-airquality[complete.cases(airquality),]

如何用 0 替换空气质量中的 NA,然后创建一个新的数据框 AQ2?

PS 我上面的命令是否创建了一个名为 AQ1 的新数据框?

谢谢

4

3 回答 3

107
dataset <- matrix(sample(c(NA, 1:5), 25, replace = TRUE), 5);
data <- as.data.frame(dataset)
[,1] [,2] [,3] [,4] [,5] 
[1,]    2    3    5    5    4
[2,]    2    4    3    2    4
[3,]    2   NA   NA   NA    2
[4,]    2    3   NA    5    5
[5,]    2    3    2    2    3
data[is.na(data)] <- 0
于 2013-09-01T21:49:32.063 回答
26

泰勒林克所说的是正确的:

AQ2 <- airquality
AQ2[is.na(AQ2)] <- 0

会这样做。

您最初所做的是从airquality所有那些完整的行(案例)中获取。因此,所有没有任何 NA 的案例,只保留那些案例。

于 2013-09-01T20:44:17.920 回答
9

这是我知道的两种快速方法:

在基地

AQ1 <- airquality
AQ1[is.na(AQ1 <- airquality)] <- 0
AQ1

不在基地

library(qdap)
NAer(airquality)

附言P.S. Does my command above create a new dataframe called AQ1?

看看AQ1看看

于 2013-09-01T20:44:01.987 回答