使用R中的循环合并成对的.csv

时间:2016-12-19 17:26:45

标签: r csv

在一个文件夹中,我有.csv个文件命名 covariates4.csvcovariates11.csvcovariates28.csv,...(180个非连续数字的文件)

我想与名为的文件合并: species4.csvspecies11.csvspecies28.csv,...(与上述covariates文件的编号相同)

我想创建一个for循环,将covariates4.csvspecies4.csv合并为列" X"到名为.csv的新newfile4.csv文件中,对我文件夹中的每个配对文件执行此操作。在R中仍然是新手,我在编写for循环时无法读取不同的配对数字......任何帮助都将不胜感激!

这是我到目前为止所尝试的:

for (i in 1:6550){
covar[i]<-read.csv("covariates[i].csv")
species[i]<-read.csv("species[i].csv")
newfile[i]<-merge(covar[i], species[i], by="X")
write.csv(newfile[i], file="newfile[i].csv")
}

但是我收到一条错误消息:&#34;无法打开文件&#39;协变量[i] .csv&#39;:没有这样的文件或目录&#34;

1 个答案:

答案 0 :(得分:0)

如果让i等于用于标识文件的数字的向量,则可以使用paste0在每次迭代期间写出正确的文件名。

for(i in c(4, 11, 28)){
  covar.i <- read.csv(paste0("covariates", i, ".csv"))
  rub.i <- read.csv(paste0("rubriventer", i, ".csv"))
  rubocc.i <- merge(covar.i, rub.i, by = "X")
  write.csv(rubocc.i, file = paste0("output", i, ".csv"))
}