#lapply #write.table
#lapply #write.table
Вопрос:
Я новый пользователь R. Я хочу выполнить один и тот же набор из нескольких задач для многих файлов и записать результаты в текстовые файлы. Код выглядит следующим образом:
ps_files<-dir(pattern = ".ps")
lapply(ps_files, function(x) {
#read files
read<-data.table::fread(x, data.table = F, stringsAsFactors = F)
#merge with bim file
merge_bim<-dplyr::inner_join(read, bim_df[,c(1:2, 4:6)], by=c("V1"="V2"))
#paste Chr for rows in column1
merge_bim$V1.y<-paste0("Chr",merge_bim$V1.y)
#filter significant snps
sig_snps<-filter(merge_bim, V4.x<=0.00001)
#get columns needed by annovar
output<-sig_snps[,c("V1.y","V4.y","V4.y","V5","V6")]
#create text files of results
write.table(output, sep="t", col.names=F, row.names=F, append=F, quote=F)
})
В каталоге содержится пять файлов. Когда я пытаюсь выполнить до тех пор, пока не появится выходная переменная, не появятся ожидаемые результаты. Но когда я пытаюсь выполнить до write.table, я получаю «NULL» для каждого файла (т. е. [[1]] NULL …[[5]] NULL), и текстовые файлы не создаются. Я пробовал предложения с нескольких веб-сайтов, но ошибка сохраняется. Я также не уверен, что lapply является наиболее подходящей функцией для использования.