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

R语言批量修改多CSV文件abundance列为对应文件名前缀格式的问题

修正后的R代码及问题说明

原有代码的问题

  • 正则表达式使用错误:sub(".*", "", x)会将文件名全部替换为空字符串,无法提取到文件名前缀
  • 列名修改范围错误:原代码会给所有列都添加文件名前缀,不符合仅修改abundance列的需求
  • 缺少文件回写步骤:仅将修改后的数据存在内存列表中,没有保存回原CSV文件

可直接运行的修正代码

# 读取目录下所有后缀为.csv的文件
filenames <- list.files(pattern = "\\.csv$")

lapply(filenames, function(x) {
  # 读取单个CSV文件
  df <- read.csv(x)
  # 提取文件名前缀(去除.csv后缀)
  file_prefix <- sub("\\.csv$", "", x)
  # 仅修改abundance列的列名
  colnames(df)[colnames(df) == "abundance"] <- paste0(file_prefix, "_abundance")
  # 保存修改后的数据回原文件,不写入额外行号列
  write.csv(df, x, row.names = FALSE)
})

注意说明

如果你的CSV文件内容包含逗号、空格等特殊字符,可以删掉write.csv里的quote = FALSE参数,避免保存后格式错乱。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 13:09:02