我是在 R 中處理大量資料集的新手。因此,我很感謝我擁有 20 年資料的任何幫助,并且對于每年三個 .csv 檔案,每個檔案大小約為 3 GB 我嘗試使用函式 list.files() 來存盤向量中檔案的名稱,現在我知道理論上我需要沿著這個向量回圈來讀取檔案并一個一個地生成積分并組合檔案。但我不知道如何回圈并組合我的資料集或運行不同的模型!!!!我經常收到錯誤“錯誤:無法分配大小為 3.4 Gb 的向量”或“記憶體已用盡,已達到限制”!!!!!!!如果有人可以指導我,我將不勝感激。最好的問候薩拉
uj5u.com熱心網友回復:
您應該確保您的計算機有足夠的 RAM 記憶體和存盤空間來處理這些資料量。fread() 是一個非常有用的函式,可以快速整理資料。試試看:https ://www.rdocumentation.org/packages/data.table/versions/1.14.2/topics/fread 。
如果這不起作用,請嘗試使用火花。它非常快速、方便和簡單。你不需要知道它,只需檢查這個備忘單(https://ugoproto.github.io/ugo_r_doc/pdf/sparklyr.pdf)。祝你好運!
uj5u.com熱心網友回復:
我建議用data.table. 就記憶體而言,這比大多數其他軟體包更快、更有效。
這里有一些鏈接:
- data.table 與 data.frame
- 比較處理大型資料集的不同方法的基準
- data.table 參考/描述
在您的情況下,您可以嘗試以下操作:
library(data.table)
files = list.files("your_path")
df_final = data.table()
for (file in files) {
df_temp = fread(file)
### do all the mathematics you need, here just an example
df_temp[, Sum:=sum(last_bill, na.rm=TRUE), by=c("Product", "Year")]
df_final = rbind(df_final, df_temp)
}
rm(df_temp)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/417269.html
標籤:
