使用 R [关闭] 计算 data.frame 中存在的 NA 值的平均值
Posted
技术标签:
【中文标题】使用 R [关闭] 计算 data.frame 中存在的 NA 值的平均值【英文标题】:Calculating mean with NA value present in a data.frame using R [closed] 【发布时间】: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)
出来
我的期望是这样的结果:
【问题讨论】:
在mean
中默认使用mean(ph, na.rm = TRUE)
na.rm = FALSE
这能回答你的问题吗? What does na.rm=TRUE actually means?
【参考方案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
【讨论】:
以上是关于使用 R [关闭] 计算 data.frame 中存在的 NA 值的平均值的主要内容,如果未能解决你的问题,请参考以下文章