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

在R中为指定组(A组排除0值)计算列均值的方法

分组计算均值并添加到原数据集(R语言实现)

原始数据集

W   X    Y    Z
A_rep1     0  15   10   2   
A_rep2     2  14    4   8
A_rep3    15   0    8  22
A_rep4    18   3    0   9
A_rep5     0  12    0  22    
B_rep1    13   0   12  80 
B_rep2    14   2   10  45
B_rep3    15  10   12  36 
B_rep4    89  18   22  78 
B_rep5     0  22   16   0
C_rep1    15   0   12   0
C_rep2    12   0   17   5
C_rep3    22   4   50  47
C_rep4     0  14    0   0 
C_rep5     0   5    4  12 

需求说明

  • 对A组的每列计算排除0值后的均值
  • 对B、C组使用所有重复样本计算列均值
  • 将各组均值作为新行添加到原数据集

R语言实现步骤

1. 读取原始数据

将数据读入R环境:

data <- read.table(text = "
     W   X    Y    Z
A_rep1     0  15   10   2   
A_rep2     2  14    4   8
A_rep3    15   0    8  22
A_rep4    18   3    0   9
A_rep5     0  12    0  22    
B_rep1    13   0   12  80 
B_rep2    14   2   10  45
B_rep3    15  10   12  36 
B_rep4    89  18   22  78 
B_rep5     0  22   16   0
C_rep1    15   0   12   0
C_rep2    12   0   17   5
C_rep3    22   4   50  47
C_rep4     0  14    0   0 
C_rep5     0   5    4  12 
", header = TRUE, row.names = 1)

2. 分组提取数据

按行名前缀提取A、B、C三组数据:

A_data <- data[grepl("^A_rep", rownames(data)), ]
B_data <- data[grepl("^B_rep", rownames(data)), ]
C_data <- data[grepl("^C_rep", rownames(data)), ]

3. 计算各组均值

  • A组:排除0值后计算列均值
  • B、C组:直接计算所有样本的列均值
# A组均值(排除0值)
mean_A <- apply(A_data, 2, function(x) mean(x[x != 0]))
# B组均值
mean_B <- colMeans(B_data)
# C组均值
mean_C <- colMeans(C_data)

4. 转换格式并合并到原数据

将均值向量转为数据框,设置行名后合并到原始数据集:

# 转换为数据框并命名行
mean_A_df <- as.data.frame(t(mean_A))
rownames(mean_A_df) <- "Mean_A"

mean_B_df <- as.data.frame(t(mean_B))
rownames(mean_B_df) <- "Mean_B"

mean_C_df <- as.data.frame(t(mean_C))
rownames(mean_C_df) <- "Mean_C"

# 合并所有数据
final_data <- rbind(data, mean_A_df, mean_B_df, mean_C_df)

5. 查看最终结果

print(final_data, digits = 2)

输出结果:

W    X     Y     Z
A_rep1    0.00 15.0 10.00  2.00
A_rep2    2.00 14.0  4.00  8.00
A_rep3   15.00  0.0  8.00 22.00
A_rep4   18.00  3.0  0.00  9.00
A_rep5    0.00 12.0  0.00 22.00
B_rep1   13.00  0.0 12.00 80.00
B_rep2   14.00  2.0 10.00 45.00
B_rep3   15.00 10.0 12.00 36.00
B_rep4   89.00 18.0 22.00 78.00
B_rep5    0.00 22.0 16.00  0.00
C_rep1   15.00  0.0 12.00  0.00
C_rep2   12.00  0.0 17.00  5.00
C_rep3   22.00  4.0 50.00 47.00
C_rep4    0.00 14.0  0.00  0.00
C_rep5    0.00  5.0  4.00 12.00
Mean_A   11.67 10.7  7.33 15.25
Mean_B   26.20 10.4 14.40 47.80
Mean_C    9.80  4.6 16.60 12.80

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 17:22:05