我試圖對包含4000000行以上的CSV數據集中的兩個因子變量執行固定效果迴歸。這些變量可以分別假設大約140000和50000個不同的整數值。在大型數據集上計算多個固定效果
我最初嘗試使用biglm和ff軟件包對R進行迴歸,如下所示,它在具有8 Gb內存的Linux機器上執行:然而,這似乎需要太多的內存,因爲R抱怨必須在我的機器上分配一個大於最大值的向量。
library(biglm)
library(ff)
d <- read.csv.ffdf(file='data.csv', header=TRUE)
model = y~factor(a)+factor(b)-1
out <- biglm(model, data=d)
一些研究網上透露,自因素由FF加載到內存中,後者將不會顯著提高內存的使用情況,如果許多因子值都存在。
有沒有人知道一些其他的方式來執行我所描述的量級數據集的上述迴歸,而不必求助於具有更多內存的機器?
我會嘗試從R中刪除所有其他數據集/對象(也關閉所有其他項目),如果有的話。你可以通過使用rm()和之後的gc()來將清除數據釋放回內存。 – user1738753
我確實確認上述腳本是在R會話中運行的唯一代碼。在任何情況下,我發現在具有更多(32 Gb)內存的計算機上運行腳本可防止最初的內存投訴,但很快導致機器開始使用交換內存並減速。 – lebedov
您目前使用biglm。我想你想用高斯鏈接來使用bigglm。您應該使用ffbase包中的bigglm.ffdf。 require(ffbase)和方法(bigglm)讓你在那裏。你也不需要指定因子(a),a已經是一個因子。 – jwijffels