在R数据帧中将NA替换为0

时间:2013-09-01 20:38:20

标签: r

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

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

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

P.S。上面的命令是否创建了一个名为AQ1的新数据框?

由于

3 个答案:

答案 0 :(得分:87)

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

答案 1 :(得分:19)

Tyler Rinker所说的是正确的:

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

会做到这一点。

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

答案 2 :(得分:9)

以下是我所知道的两种快速方法:

在基础

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

不在基础

library(qdap)
NAer(airquality)

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

查看AQ1并查看