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

如何按DataFrame中expl.val分组计算pred.val均值并生成新DataFrame

解决方案

使用dplyr包(推荐)

先按expl.val分组计算pred.val的均值,再补全1到14的所有取值:

library(dplyr)

# 分组计算均值
mean_data <- cat1 %>%
  group_by(expl.val) %>%
  summarise(pred.val = mean(pred.val, na.rm = TRUE))

# 生成包含1-14的完整序列,左连接补全缺失项
final_df <- tibble(expl.val = 1:14) %>%
  left_join(mean_data, by = "expl.val")

# 可选:将缺失的均值替换为0(或其他值)
final_df <- final_df %>% mutate(pred.val = replace_na(pred.val, 0))

使用Base R

如果不想加载额外包,用基础R实现:

# 分组计算均值
mean_data <- aggregate(pred.val ~ expl.val, data = cat1, FUN = mean, na.rm = TRUE)

# 生成完整序列并合并,保留所有1-14的取值
final_df <- merge(data.frame(expl.val = 1:14), mean_data, by = "expl.val", all.x = TRUE)

说明:

  • na.rm = TRUE用于忽略pred.val中的缺失值,避免计算结果为NA
  • 左连接/all.x = TRUE确保1到14的每个expl.val都出现在最终DataFrame中,原始数据中没有的取值对应的均值会显示为NA,可按需替换为其他值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 10:52:11