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

R语言按分组均值替换数据框列中所有值(含NA)的实现问题

你的现有代码存在两处需要调整的地方:

  • ifelse条件逻辑限制了仅替换NA值,非NA值会被直接保留,无法实现全部分组值统一为均值的需求
  • 分组变量填写错误,需求中要求按Day和Section分组,你代码中误写为Plate

修改后的代码如下:

library(dplyr)
mean_value <- df %>%  
  group_by(Day, Section) %>%
  mutate(Value = mean(Value, na.rm = TRUE))

代码逻辑说明:
mean(Value, na.rm = TRUE)会自动忽略当前分组内的NA值计算均值,直接赋值给Value列后,分组内所有行的Value都会被统一替换为该分组的均值,计算结果和你给出的预期输出完全匹配:

  • 第1组(Day=1, Section=1)均值:(1.2+0.58)/2 = 0.89
  • 第2组(Day=1, Section=2)均值:(1.1+0.8)/2 = 0.95

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 16:27:03