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