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

如何用R批量处理CSV文件描述性统计并导出表格

批量处理CSV文件计算统计量的问题

我有一个存放CSV文件的文件夹,这些文件是经过个性化最小值和最大值过滤的选通数据,每文件包含两列(二面角 vs 弯曲角)。我需要为每个文件的每列计算均值、中位数、标准差(sd)、偏度(skewness)和峰度(kurtosis),最终把这些统计量整理成表格,每行对应一个文件。

我不熟悉适合这个任务的R包,自己写了简单代码,单文件处理可行,但现在有200多个文件,而且文件会更新需要反复运行程序。下面是我写的代码:

module load ccs/container/R/4.1.0
R

library(moments)

files <- list.files("/mnt/gpfs2_4m/scratch/username/fs_scripts/foldedstart_*", pattern="*.csv", recursive=TRUE, full.names=TRUE)

cat("filename","\t","dihedral mean","\t","bend mean","\t","dihedral median","\t","bend median","\t","dh sd","\t","bd sd","\t","dh skew","\t","bd skew","\t","dh kurt","\t","bd kurt","\n")

for (currentFile in files) {
  df <- read.table(fileName[i], header=TRUE)

  z1 <- mean(df$V1)
  z2 <- median(df$V1)
  z3 <- sd(df$V1)
  z4 <- skewness(df$V1)
  z5 <- kurtosis(df$V1)

  z7 <- mean(df$V2)
  z8 <- median(df$V2)
  z9 <- sd(df$V2)
  z10 <- skewness(df$V2)
  z11 <- kurtosis(df$V2)
  
  cat(filename,"\t",z1,"\t",z7,"\t",z2,"\t",z8,"\t",z3,"\t",z9,"\t",z4,"\t",z10,"\t",z5,"\t",z11,"\n")

  write.table(newdata, file=statsFileName[i]))
}

目前的问题:第一条cat语句用来生成表头,但循环里的cat无法正常输出;write.table是参考的代码,不确定是否适用以及怎么正确使用。我不太熟悉R,找的示例也适配不了我的需求,恳请帮忙。


编辑补充

我想获取可视化图表中每个主要密度区域的中位数(中心值)作为上下文参考,同时附上以下相关截图:

  • 绘图示例
  • 数据示例
  • 单文件运行无输出的情况
  • 文件夹内文件示例截图(多张)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 10:03:31