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

R语言使用apply函数为dataframe添加平均值行并重命名为Average

解决方案

首先注意一个小问题:你之前的代码将计算结果赋值给了apply变量,会覆盖R内置的apply()函数,建议更换为其他变量名避免后续代码报错。

以下是两种可直接实现需求的写法:

方式1:rbind绑定时直接指定行名(最简便)

直接在rbind时用Average = 平均值向量的写法,新增的行自动会使用Average作为行名:

# 构造示例数据
state.df = as.data.frame(state.x77)
# 计算各列平均值,更换变量名避免覆盖内置函数
col_means = apply(state.df, MARGIN = 2, mean, na.rm = TRUE)
# 绑定行时直接指定新增行的名称
state.df_new = rbind(state.df, Average = col_means)

方式2:绑定完成后单独修改最后一行行名

如果你已经完成了rbind操作,只需要修改最后一行的行名,直接对行名向量的最后一位赋值即可:

# 已完成的绑定操作
state.df = as.data.frame(state.x77)
col_means = apply(state.df, MARGIN = 2, mean, na.rm = TRUE)
state.df_new = rbind(state.df, col_means)

# 直接修改最后一行的行名
rownames(state.df_new)[nrow(state.df_new)] <- "Average"

你之前的写法无法生效是因为rownames()函数没有prefix参数,也不能直接作为rbind的参数传入调用。

内容的提问来源于stack exchange,提问作者Abel Pérez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 09:15:03