【问题标题】:replacing NA's with 0's in R dataframe [duplicate]在 R 数据框中用 0 替换 NA [重复]
【发布时间】:2013-09-04 22:34:36
【问题描述】:

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

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

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

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

谢谢

【问题讨论】:

  • 您可以使用:airquality[is.na(airquality)] &lt;- 0

标签: r


【解决方案1】:

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

在基地

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

不在基地

library(qdap)
NAer(airquality)

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

看看AQ1看看

【讨论】:

  • 是的,当我查看 AQ1 时确实如此。抱歉,我必须看起来像一个真正的失败者问这样的简单问题,但我对 R 真的很陌生。我擅长统计,只是从来没有通过这样的程序。不过,在过去的几天里,我已经走了很长一段路。
  • 我们根本不是从某个地方开始的,但我学到的最好的方法就是尝试一下看看。 R 中的所有内容都是您可以查看的对象。用str、names 和summary 环绕对象,你会学到很多东西。
  • 同意,或在其前面加上? 以获取有关对象的帮助文档,并在其前面加上?? 以在文档中搜索单词。
【解决方案2】:

Tyler Rinker 说的是对的:

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

会这样做。

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

【讨论】:

    【解决方案3】:
    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
    

    【讨论】:

      猜你喜欢
      • 2012-10-21
      • 2019-09-26
      • 2020-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多