我想在R中应用一个循环来处理几个文件,每次一个文件。文件具有完全相同的模式,只是字符串" ... split1 ..."是我的文件的新月号。然后有一个文件,如" ... split1 ..."," ... split2 ..." ......" ... split777 ......"。我想要输出文件,例如在相同的逻辑中,例如:" newsplit1.txt"," newsplit2.txt" ..." newsplit777.txt"。
all <- read.table("nsamplescluster.split1.adjusted", header=TRUE, sep=";")
all <- all[, -grep("GType", colnames(all))]
write.table(all, "newsplit1.txt", sep=";")
干杯!
答案 0 :(得分:1)
使用循环和粘贴文件名。
for(i in 1:777){
infile <- paste0("nsamplescluster.split",i,".adjusted")
outfile <- paste0("newsplit",i,".txt")
all <- read.table(infile, header=TRUE, sep=";")
all <- all[, -grep("GType", colnames(all))]
write.table(all, outfile, sep=";")
}
答案 1 :(得分:1)
如果文件都在同一目录中,您也可以使用
filenames<- list.files(your.directory, pattern="nsamplescluster")
这将创建一个载体,其中所有文件名都在your.directory
中,并带有指示的图案。然后,您可以使用它来循环文件。例如,
for(i in filenames){
do stuff
}
如果文件数量发生变化,这可能会派上用场。