2011-07-21 33 views
0

我已經在引導包中運行了R中一個相當大的引導程序。R引導包:沒有足夠的內存來獲得置信區間

當我第一次跑了啓動()我得到這個:

Error: cannot allocate vector of size 2.8 Gb 

因此,要引導對象,我不得不使用「簡單= TRUE」,它告訴啓動()不分配所有內存在開始時(根據?boot)。這工作得很好,但花了幾分鐘。

現在我需要得到置信區間:

> boot.ci(vpe.bt, type="bca", simple=TRUE) 
Error: cannot allocate vector of size 2.8 Gb 

同樣的問題!但根據?boot.ci,沒有'simple = TRUE'標誌,您可以使用此功能(我已經嘗試過)。

那麼,有沒有辦法解決這個使用boot.ci()?

而且,如果沒有,我可以做些什麼來增加它可以使用的內存量?

+0

對不起,我應該提到我在Ubuntu 11.04中運行這個。 –

+0

例如,您可以通過鍵入memory.limit(4000)來增加內存,這會將R的內存增加到4Gb。顯然,你無法超越內存限制你自己的電腦。至於你的錯誤,我不熟悉這個功能,但是你可能做了太多的引導程序複製?當我嘗試創建太大的矩陣時,我看到了這個錯誤。 – 2011-07-21 21:34:18

+2

也許這應該在StackOverflow?問題是關於R編程而不是統計。 – highBandWidth

回答

1

我不知道boot.ci,但我在我的32位Ubuntu系統中遇到了大型矢量的類似問題。 32位系統具有有限的地址空間,可在64位系統中解析。

64位有一些缺點,主要的一點是,它仍然不是標準的,並不是每個軟件提供商都有一個64位的軟件編譯版本,Flash播放器擁有最後一個聽說只有64位的beta版本。儘管通過安裝一個允許您在64位系統上運行32位軟件的庫(雖然性能受損),但這通常是可以修改的。

這些資源可能可能要添加揭示問題的一些更多的光線:

1

計算中的R BCA(調整引導百分點)置信區間需要的創造'重要性數組'具有維度(觀察次數)×(次數)。如果您沒有足夠的內存來處理至少兩個這樣的矩陣的副本,該功能將無法工作。

但是,基於正常(type ='normal')和百分位數的置信區間(type ='percent')應該有效。

相關問題