【问题标题】:Using the na.rm = TRUE option in the function for summary stats - summary()在摘要统计函数中使用 na.rm = TRUE 选项 - summary()
【发布时间】:2019-08-06 10:45:03
【问题描述】:

我正在尝试计算数据框中几列的汇总统计信息。一些单元格具有 NA 值,并且在使用 summary() 函数时,我希望 R 排除具有 NA 的值。我无法删除这些行,因为并非一行中的所有值都是 NA。当我使用 na.rm = TRUE 单独使用 mean() 或 sd() 函数时,它可以工作。但是当我使用 summary() 函数时,na.rm = TRUE 没有任何区别。

以下任一工作:

mean(df1[9:24,9], na.rm = TRUE) # OR
sd(df1[9:24,9], na.rm = TRUE)

但摘要没有:

summary(df1[9:24,9], na.rm = TRUE)

无论是否插入na.rm = TRUE,summary() 函数都会返回相同的答案。有什么方法可以使用 summary() 函数并使其提供数据子集的摘要统计信息,以确保不必计算 NAs 值?

【问题讨论】:

  • 据我所知,summary() 默认取出 NA,并在统计信息之后列出 NA 的数量。这是假设存储的 NA 不是类字符。
  • B <- BOD; B$demand[3] <- NA; B; summary(B)

标签: r


【解决方案1】:

您可以在子集的帮助下尝试以下操作。

mean(subset(df[9:24,9],!is.na(df1[9:24,9])))
sd(subset(df[9:24,9],!is.na(df1[9:24,9])))
summary(subset(df[9:24,9],!is.na(df1[9:24,9])))

【讨论】:

    猜你喜欢
    • 2022-01-26
    • 1970-01-01
    • 2018-11-18
    • 2018-05-24
    • 2021-11-16
    • 1970-01-01
    • 1970-01-01
    • 2013-04-08
    • 2020-04-06
    相关资源
    最近更新 更多