如何从R中的循环的每次迭代输出编号的数据帧

时间:2015-09-02 16:57:36

标签: r

我正在尝试处理一些包含基因注释列的文件。我想从循环的每次迭代输出一个数据帧,以便最终我可以单独处理每个数据帧(理想情况下,数据帧应该被称为它来自的文件的名称)。我已经附加了我的工作函数,但我不知道如何从每次迭代输出命名数据帧。

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)

0 个答案:

没有答案