簡體   English   中英

For循環讀取表R

[英]For loop to read table R

我想遍歷目錄名稱的向量,並將目錄名稱插入read.table函數,並在循環外“查看”表。 我有一個目錄名稱向量:

dir_names <- c("SRR2537079","SRR2537080","SRR2537081","SRR2537082", "SRR2537083","SRR2537084")

我現在想遍歷這些並讀取每個目錄中的表。 我有:

 list.data<-list()

    for(i in dir_names){
     #print(i)
     list.data[[i]] <- read.table('dir_names[i]/circularRNA_known.txt', header=FALSE, sep="\t",stringsAsFactors=FALSE)
    }

但這不能識別dir_names [i]。 我必須以某種方式使用粘貼嗎?

沒錯,您需要粘貼值。 我也將成為列表元素而不是數字,因此您無需將其稱為dir_names [i]

list.data<-list()

for(i in dir_names){
 #print(i)
 list.data[[i]] <- read.table(paste0(i,'/circularRNA_known.txt'), header=FALSE, sep="\t",stringsAsFactors=FALSE)
}

我是否還可以建議(僅針對您的信息,如果您需要更好的解決方案)可以使用plyr的llply而不是循環。 這意味着所有操作都可以在一行內完成,並且可以輕松更改輸出以將所有文件合並為data.frame(使用ldply)(如果格式一致)

list.data.2 <- llply(dir_names, function(x) read.table(paste0(x,"/circularRNA_known.txt"), header=FALSE, sep="\t",stringsAsFactors=FALSE))

dir_names[i]應該用作變量。

 list.data<-list()

for(i in (1:length(dir_names))){
 #print(i)
 list.data[[i]] <- read.table(paste0(dir_names[i], '/circularRNA_known.txt'), header=FALSE, sep="\t",stringsAsFactors=FALSE)
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM