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

R语言实现:将水质指标的均值与标准差列合并为mean(sd)格式

R代码:合并水质指标均值与标准差并导出文件

1. 模拟示例数据

先创建一个和你描述结构一致的示例数据框,方便测试代码:

# 加载必要包
library(tidyverse)

# 构造示例数据
set.seed(123) # 设置随机种子保证结果可复现
water_data <- tibble(
  Site = rep(paste0("Site_", 1:6), each = 4), # 6个监测点,每个点对应4个季节
  Season = rep(c("Spring", "Summer", "Autumn", "Winter"), times = 6), # 4个季节
  Temp_1 = rnorm(24, mean = 20, sd = 3), # 温度均值列
  Temp_2 = rnorm(24, mean = 1.5, sd = 0.5), # 温度标准差列
  pH_1 = rnorm(24, mean = 7.5, sd = 0.3), # pH均值列
  pH_2 = rnorm(24, mean = 0.2, sd = 0.05), # pH标准差列
  DO_1 = rnorm(24, mean = 8, sd = 1), # 溶解氧均值列
  DO_2 = rnorm(24, mean = 0.8, sd = 0.2) # 溶解氧标准差列
)

2. 合并均值与标准差列

手动指定指标合并(适合指标数量少的情况)

通过mutate创建合并后的新列,可选择删除原始的均值/标准差列:

# 合并指标列,保留2位小数
water_combined <- water_data %>%
  mutate(
    Temp = paste0(round(Temp_1, 2), "(", round(Temp_2, 2), ")"),
    pH = paste0(round(pH_1, 2), "(", round(pH_2, 2), ")"),
    DO = paste0(round(DO_1, 2), "(", round(DO_2, 2), ")")
  ) %>%
  select(-ends_with("_1"), -ends_with("_2")) # 删除原始均值、标准差列(不需要可移除该行)

批量自动合并(适合指标数量多的情况)

自动识别所有带_1(均值)、_2(标准差)后缀的列,批量完成合并:

# 获取所有指标名称(提取_1列的前缀)
indices <- unique(str_subset(colnames(water_data), "_1$") %>% str_remove("_1$"))

# 批量循环合并
water_combined_batch <- water_data
for (idx in indices) {
  mean_col <- paste0(idx, "_1")
  sd_col <- paste0(idx, "_2")
  water_combined_batch <- water_combined_batch %>%
    mutate(!!idx := paste0(round(.data[[mean_col]], 2), "(", round(.data[[sd_col]], 2), ")")) %>%
    select(-all_of(c(mean_col, sd_col)))
}

3. 导出处理后的数据

导出为CSV文件(通用格式)

write_csv(water_combined_batch, "combined_water_data.csv")

导出为Excel文件

先安装openxlsx包(仅首次需要),再执行导出:

# install.packages("openxlsx")
library(openxlsx)
write.xlsx(water_combined_batch, "combined_water_data.xlsx")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 22:00:58