处理具有唯一colnames的多个文件

时间:2013-11-19 19:23:33

标签: r

我想知道在一个人有多个csv文件的情况下最佳做法是什么,所有这些文件都有唯一的名字。因此文件一可能有tempKS或flame_KS,哪两个文件可能有tempCA或flame_CA。基本上,每个文件都提供不同状态的数据,每个文件中的colnames都是唯一的。

假设我想构建一些线性模型。好吧,我可以为每个状态重写“相同”代码四次,或者我可以尝试标准化这些代码并在每个文件上单独运行它们。我的问题是,在用户拥有多个文件且每个文件都有唯一列的情况下,最佳和平是什么

1 个答案:

答案 0 :(得分:2)

示例:

#dummy csv
write.csv(data.frame(tempKS=runif(10),flame_KS=runif(10)),
          file="temp1.csv",row.names=FALSE,quote=FALSE)
write.csv(data.frame(tempCA=runif(10),flame_CA=runif(10)),
          file="temp2.csv",row.names=FALSE,quote=FALSE)

#read csv, add batch, update colnames
output <- lapply(list.files(pattern="t*.csv"),
                 function(x){
                   tmp <- read.csv(x)
                   tmp$batch <- colnames(tmp)[1]
                   colnames(tmp)[1:2] <- c("temp","flame")
                   tmp})

#list to dataframe
do.call(rbind,output)