【问题标题】:How to find the mean of a column in R [duplicate]如何在R中找到列的平均值[重复]
【发布时间】:2016-10-20 21:47:28
【问题描述】:

这是我正在使用的 csv 文件。

my.xldataset <- read.csv('http://www.math.smith.edu/sasr/datasets/help.csv')

这是我寻找“mcs1”列平均值的尝试。

mean(my.xldataset$mcs1)

我得到的只是一个“NA”。我到底哪里错了?谢谢

【问题讨论】:

  • 正如@akrun 所说,您的数据框中有NA 值,因此您需要使用na.rm=TRUE
  • help(mean) 也会引导您找到答案。
  • 为什么将其标记为重复。这是一个不同的问题.... @RichScriven

标签: r csv dataframe mean


【解决方案1】:

可能是列中有NA值,所以使用na.rm=TRUE

mean(my.xldataset$mcs1, na.rm=TRUE)

或者可能是该列不是numeric。在这种情况下,请检查

str(my.xldataset)

class(my.xldataset$mcs1)

通过检查数据集,

any(is.na(my.xldataset$mcs1))
#[1] TRUE

NA 元素确实在数据集中。所以,请使用na.rm=TRUE

【讨论】:

    【解决方案2】:

    正如@akrun 所指出的,这可能是因为该列数据中的NA。 你也可以运行:

    summary(my.xldataset$mcs1)
    

    这将报告最小值、最大值、中位数、四分位数等...并为您提供 NA 的数量 :)

       Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
      6.677  30.210  42.440  40.980  52.730  69.940     207
    

    【讨论】:

    • 为什么投反对票?平均值列在 summary() 的输出中。输出发布在上面。它不仅提供平均值,而且还提供 NA,并报告 NA 的数量。这怎么不能回答 OP 的问题?
    • 你是对的。 summary 确实包括平均值。我删除了我的反对票。
    猜你喜欢
    • 1970-01-01
    • 2018-08-13
    • 1970-01-01
    • 2015-11-02
    • 1970-01-01
    • 2019-03-08
    • 2018-04-05
    • 2022-10-09
    • 1970-01-01
    相关资源
    最近更新 更多