在一个文件夹中,我有.csv
个文件命名
covariates4.csv
,covariates11.csv
,covariates28.csv
,...(180个非连续数字的文件)
我想与名为的文件合并:
species4.csv
,species11.csv
,species28.csv
,...(与上述covariates
文件的编号相同)
我想创建一个for循环,将covariates4.csv
与species4.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;
答案 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"))
}