我正在尝试处理一些包含基因注释列的文件。我想从循环的每次迭代输出一个数据帧,以便最终我可以单独处理每个数据帧(理想情况下,数据帧应该被称为它来自的文件的名称)。我已经附加了我的工作函数,但我不知道如何从每次迭代输出命名数据帧。
library(gridExtra)
#LP6007427.DNA_PolyATClusters<-read.delim("U:\\Batch1\\LP6007427-DNA_PolyATClusters.csv",sep=",")
setwd("U:/Batch1/")
path = "U:\\Batch1\\"
path2 = "U:\\bed_extract\\"
filename <- dir(path, pattern =".csv")
pltList <- list()
for(i in 1:length(filename)){
file <- read.delim(filename[i],header=FALSE,sep=',')
row.names(file)<-NULL
file<-file[-c(1:25),]
write.table(i)
Pusung<-data.frame(file[1],file[2],file[3],file[4],file[8])
names(Pusung)<-c("chr","Start","End","Type","Gene")
library(stringr)
Pusung$chr<-gsub("chr","",Pusung$chr)
Pusung$chr <- factor(as.integer(Pusung$chr), levels=unique(Pusung$chr))
Pusung$Type<-gsub("J","Barr",Pusung$Type)
Pusung$Type<-gsub("T","Tumour",Pusung$Type)
PusungTumour <- as.data.frame(Pusung[grep("Barr", Pusung$Type, invert=TRUE), ])
PusungShared<-as.data.frame(subset(Pusung,grepl('Barr', Type) & grepl('Tumour', Type)))
PusungBarr <- as.data.frame(Pusung[grep("Tumour", Pusung$Type, invert=TRUE), ])
PusungTumour$Type<-gsub('.*',"Tumour",PusungTumour$Type)
PusungTumour[PusungTumour==""]<-NA
Intergenic_Tum<-subset(PusungTumour,!is.na(PusungTumour$Gene))
Intragenic_Tum<-subset(PusungTumour,is.na(PusungTumour$Gene))
PusungBarr$Type<-gsub('.*',"Barr",PusungBarr$Type)
PusungBarr[PusungBarr==""]<-NA
Intergenic_Barr<-subset(PusungBarr,!is.na(PusungBarr$Gene))
Intragenic_Barr<-subset(PusungBarr,is.na(PusungBarr$Gene))
PusungShared$Type<-gsub('.*',"Shared",PusungShared$Type)
PusungShared[PusungShared==""]<-NA
Intergenic_Shared<-subset(PusungShared,!is.na(PusungShared$Gene))
Intragenic_Shared<-subset(PusungShared,is.na(PusungShared$Gene))
PusungBound<-rbind(Intragenic_Barr,Intragenic_Tum)
PusungBound<-rbind(PusungBound,Intragenic_Shared)
}
do.call(grid.arrange, pltList)