Я написал цикл, который вводит несколько текстовых файлов, выполняет несколько функций для каждого и объединяет их. Я скопировал это ниже и аннотировал каждую строку. Однако, первый файл в i читается (и добавляется в мой финальный стол) дважды!
Кроме того, с нетерпением жду, чтобы упростить этот цикл.
source_files<-list.files(pattern="_output.txt") # This line finds all file ending with .txt
source_files сверху перечисляет соответствующие файлы для ввода в цикл ниже.
for (i in source_files){
if (!exists("final_table")){
df_import<-read.table(i, header=FALSE, sep="\t") # reads in each file
names<-unlist(strsplit(i,"_")) # reformats input file name and parses to 'names'
df_import$Sample<-names[1] # replaces col[1] header with first part of file name
df_import$DB<-names[2] # replaces col[1] header with first part of file name
final_table<-df_import # creates the final table data frame
rm(df_import) # remove excess df
}
if (exists("final_table")){
df_import<-read.table(i, header=FALSE, sep="\t") # reads in each file
names<-unlist(strsplit(i,"_")) # reformats input file name and parses to 'names'
df_import$Sample<-names[1] # replaces col[1] header with first part of file name
df_import$DB<-names[2] # replaces col[1] header with first part of file name
final_table <-rbind(final_table, df_import) # Adds to existing final table
rm(df_import)
}
}
Этот цикл работает отлично, за исключением того, что final_table имеет дублирование - есть предложения?