您好我是新來的,在R A初學者,的R多個.dat文件,文件中讀取
我的問題: 在我有一個以上的文件(test1.dat,test2.dat的情況下,.. )與R中我使用此代碼在
filelist <- list.files(pattern = "*.dat")
df_list <- lapply(filelist, function(x) read.table(x, header = FALSE, sep = ","
,colClasses = "factor", comment.char = "",
col.names = "raw"))
現在讀他們的工作,我有我的數據是很大的問題,我發現了一個解決方案使用sqldf封裝加快速度:
sql <- file("test2.dat")
df <- sqldf("select * from sql", dbname = tempfile(),
file.format = list(header = FALSE, row.names = FALSE, colClasses = "factor",
comment.char = "", col.names ="raw"))
它適用於o ne文件,但我無法更改代碼以讀入第一個代碼段中的多個文件。有人能幫我嗎?謝謝!莫莫
不能與SQL幫助,但你嘗試''中data.table fread' '包 - 提供一些速度增益 – user20650
@ user20650我會看看它,但現在我想你誤解了我,(所以我的問題不清楚)。這是一個問題,如何寫一個正確的'lapply'功能... – MOMO
你的問題是好的 - 我的評論太簡短了。我只是提供了一個替代方案,可以讓你使用第一個lapply方法,但是使用fread而不是read.table。它也可能比sqldf更快。請參閱mnel對本文的回答http://stackoverflow.com/questions/1727772/quickly-reading-very-large-tables-as-dataframes-in-r/1820610#1820610。 – user20650