You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R中对含NA值的data.frame列求均值且不删除含NA行的问题

问题解决方法

R内置mean()函数的默认规则为:如果待计算的向量中包含NA值,直接返回NA。要实现忽略NA值计算均值,仅需要在调用mean()时传入na.rm = TRUE参数即可。该参数仅会在计算当前列均值时跳过NA值,不会删除数据集的整行数据,不会造成其他列的信息丢失,符合你的需求。

修改后的完整代码如下:

# 先加载dplyr包,依赖包未加载会导致管道符、分组函数报错
library(dplyr)

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, na.rm = TRUE))

View(df2)

运行后得到的df2结果如下:

stdateph
101/02/20045
201/02/20048
1601/02/20046

内容的提问来源于stack exchange,提问作者wesleysc352

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 08:54:04