【问题标题】:Calculating mean with NA value present in a data.frame using R [closed]使用 R [关闭] 计算 data.frame 中存在的 NA 值的平均值
【发布时间】:2021-12-27 17:51:34
【问题描述】:

我有一个 data.frame,想对存在 NA 的列进行平均。

在执行计算时,我注意到 R 无法计算平均值,因此返回 NA。

OBS:我无法删除带有 NA 的行,因为它会删除具有我感兴趣的值的其他列。

df1<-read.table(text="st    date    ph
1   01/02/2004  5
16  01/02/2004  6
2   01/02/2004  8
2   01/02/2004  8
2   01/02/2004  8
16  01/02/2004  6
1   01/02/2004  NA
1   01/02/2004  5
16  01/02/2004  NA
", sep="", header=TRUE)

df2<-df1%>%
 group_by(st, date)%>%
  summarise(ph=mean(ph))

View(df2)

出来

我的期望是这样的结果:

【问题讨论】:

标签: r mean na


【解决方案1】:

你需要使用na.rm = TRUE:

df2<-df1%>%
  group_by(st, date)%>%
  summarise(ph=mean(ph, na.rm = TRUE))

df2
# A tibble: 3 x 3
# Groups:   st [3]
     st date          ph
  <int> <chr>      <dbl>
1     1 01/02/2004     5
2     2 01/02/2004     8
3    16 01/02/2004     6

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-12
    • 2016-07-24
    • 1970-01-01
    • 2015-09-05
    • 2019-02-14
    • 2021-07-03
    • 2013-12-28
    • 2018-02-28
    相关资源
    最近更新 更多