> sessionInfo()
R version 3.4.0 (2017-04-21)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
在一個32G系統中,我創建距離矩陣,當得到這個錯誤:爲什麼R報告使用Windows的內存比自己多得多?
df <- remove_duplicates_quanteda(dfm, df)
Error: cannot allocate vector of size 1.3 Gb
尋找我的環境裏面,有一點值得關注的理由:
print(object.size(x = lapply(ls(), get)), units = "Mb")
96.5 Mb
然而,Windows報告以下數字: 這種差異的原因是什麼?有沒有辦法找出答案?
難道是要分配矩陣每列/行(矢量)約1.3GB?你計算距離矩陣的數量是多少? – AaronP
使用'pryr :: object_size()'報告的類似練習是什麼? – hrbrmstr
'錯誤:無法分配大小爲1.3 Gb的向量'意味着R一直在愉快地分配內存,直到沒有更多可用內存爲止。它報告下一次分配需要多少內存(在你調用的函數內)。即使你有更多的內存1.3 GB,它可能不足以進行下一次分配。距離矩陣可能很大。根據您的全球環境,您無法判斷是否有理由擔心。你必須考慮你想要做的操作的內存需求。 – Roland