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

如何在R中为分组统计结果按规则修改列名

解决方案

你当前代码的问题在于列名拼接逻辑只关联了气缸分组标识,没有带上对应的统计指标(mean/sd)后缀,调整列名赋值逻辑即可实现预期效果,修改后的完整代码如下:

df <- mtcars
split_data <- split(df, df$cyl)
cols <- lapply(split_data, function(x) psych::describe(x)[c("mean", "sd")])
df <- do.call(cbind, cols)
# 调整列名拼接逻辑,按分组+统计量的规则生成列名
names(df) <- paste("cyl", rep(names(split_data), each = 2), c("mean", "sd"), sep = ".")
df

运行上述代码后输出的列名就和你给出的预期效果完全一致:

cyl.4.mean  cyl.4.sd  cyl.6.mean  cyl.6.sd   cyl.8.mean  cyl.8.sd  
mpg   26.6636364  4.5098277  19.7428571  1.4535670  15.1000000  2.5600481
cyl    4.0000000  0.0000000   6.0000000  0.0000000   8.0000000  0.0000000
disp 105.1363636 26.8715937 183.3142857 41.5624602 353.1000000 67.7713236
hp    82.6363636 20.9345300 122.2857143 24.2604911 209.2142857 50.9768855
drat   4.0709091  0.3654711   3.5857143  0.4760552   3.2292857  0.3723618
wt     2.2857273  0.5695637   3.1171429  0.3563455   3.9992143  0.7594047
qsec  19.1372727  1.6824452  17.9771429  1.7068657  16.7721429  1.1960138
vs     0.9090909  0.3015113   0.5714286  0.5345225   0.0000000  0.0000000
am     0.7272727  0.4670994   0.4285714  0.5345225   0.1428571  0.3631365
gear   4.0909091  0.5393599   3.8571429  0.6900656   3.2857143  0.7262730
carb   1.5454545  0.5222330   3.4285714  1.8126539   3.5000000  1.5566236

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 12:27:03