【问题标题】:How can I count number of NA values in dataset?如何计算数据集中 NA 值的数量?
【发布时间】:2015-03-16 10:55:23
【问题描述】:

我如何知道数据集中有多少个值 NA?或者数据集中是否有任何 NA 和 NaN?

【问题讨论】:

  • anyNAcomplete.casesna.omit 都是有用的函数。您的问题不是很具体,也不是很明显离题。
  • R中没有名为anyNA的函数,你能告诉我你是怎么用的吗?
  • 如果你的R版本中没有anyNA,你应该更新R。
  • 我投票决定将此问题作为离题结束,因为它是关于使用 R 的基本问题。请参阅帮助中心中有关软件相关问题的建议。
  • 我投票决定将此问题作为离题结束,因为它是关于如何在没有可重现示例的情况下使用 r。

标签: r


【解决方案1】:

这也可以正常工作

sum(is.na(df)) #  For entire dataset

对于数据集中的特定列

sum(is.na(df$col1)) 

或者检查@nicola提到的所有列

colSums(is.na(df))

【讨论】:

    【解决方案2】:

    @Roland 注意到,R 中有多个用于查找和处理缺失值的函数(参见 help("NA")here)。

    例子:

    用一些NA's 创建一个假数据集:

    data <- matrix(1:300,,3)
    data[sample(300, 40)] <- NA
    

    检查是否有缺失值:

    anyNA(data)
    

    逐列检查是否有任何个缺失值:

    apply(data, 2, anyNA)
    

    检查列中缺失值的百分比和计数:

    colMeans(is.na(data))*100
    colSums(is.na(data))
    

    【讨论】:

    • 在不需要时不要使用apply。只需colSums(is.na(data)) 即可。
    猜你喜欢
    • 2017-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-17
    • 1970-01-01
    • 1970-01-01
    • 2022-07-11
    • 2012-03-13
    相关资源
    最近更新 更多