簡體   English   中英

導入和讀取多個文件R.

[英]Importing and reading multiple files R

我有許多制表符分隔的.txt文件,名為“ abcd001.txt,abcd002.txt” ....存儲在一個目錄中。 我能夠使用以下代碼導入它們(默認目錄與數據文件目錄相同)。 它的三列,所有數字類型的數據

filenames <- list.files(path=".",pattern="abcd+.*txt")

#list of data in R
names <-substr(filenames,1,6)


for(i in names){
    filepath <- file.path(".",paste(i,".txt",sep=","))
    assign(i, read.table(filepath,
     colClasses=c("numeric"),
    sep = "\t"))
}

代碼本身沒有返回任何錯誤。 我的疑問是如何訪問正在加載的數據? 如何訪問說文件abcd011.txt的數據應該是三列數據

命令:names [3]只返回文件號000002但沒有數據。

此處的代碼與此處的代碼類似:將多個CSV文件讀取到單獨的數據框中

我建議將read.table的結果放在一個列表中,或者放在一個data.frame中。 另外,我建議在這里使用apply style loop,標准R( lapply )或plyr 我更喜歡使用plyr ,所以我的例子將使用該包。 一個例子:

## Read into a list of files:
filenames <- list.files(path=".",pattern="abcd+.*txt")
list_of_data = llply(filenames, read.table, 
                                        colClasses = c("numeric"), sep = "\t")

現在可以使用以下方式訪問數據:

list_of_data[[1]]
list_of_data[["abcd1.txt"]]

或者您可以將文件的內容讀入一個大數據data.frame

big_data = ldply(filenames, read.table, 
                             colClasses = c("numeric"), sep = "\t"))

現在可以使用以下命令訪問文件的內容:

big_data[big_data$variable == "abcd1.txt",]

暫無
暫無

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

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