【问题标题】:Filling missing values填充缺失值
【发布时间】:2012-10-25 09:37:13
【问题描述】:

我有一个这样的数据集

 4  6 18 12  4  5
 2  9  0  3 NA 13
11 NA  6  7  7  9

如何使用 R 填充缺失值?

【问题讨论】:

  • 随你喜欢。您尝试过/搜索过什么?您希望新值是什么?
  • @GSee,新值必须与列和行相关。
  • @乔治。我不明白你的意思
  • @george 如果它不仅仅是一个纯 R 问题,而是类似于“我如何在我的数据集中估算缺失值?”答案将是“这取决于您的数据的性质”。同时,您可以查看cran.r-project.org/web/views/OfficialStatistics.html 中的 Imputation 部分,了解 R 中可用的包。
  • zoo 有很多方法可以处理丢失的数据。 na.locf, na.spline, na.aggregate, na.fill, na.approx, na.trim, ...

标签: r statistics missing-data


【解决方案1】:

如果您想用固定值替换您的 NA(a 是您的数据集):

a[is.na(a)] <- 0 #For instance

如果您想将它们替换为行号和列号的函数值(正如您在评论中建议的那样):

#This will replace them by the sum of their row number and their column number:
a[is.na(a)] <- rowSums(which(is.na(a), arr.ind=TRUE))

#This will replace them by their row number:
a[is.na(a)] <- which(is.na(a), arr.ind=TRUE)[,1]

#And this by their column number:
a[is.na(a)] <- which(is.na(a), arr.ind=TRUE)[,2]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-22
    • 2021-10-03
    相关资源
    最近更新 更多