[英]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.