我在具有128 GB RAM的機器上運行R 3.2.3。我有一個123028行×168列的大矩陣。我想在R中使用層次聚類算法,所以在我這樣做之前,我正嘗試使用Bray-Curtis方法中純素包中的vegdist()函數在R中創建距離矩陣。我得到內存分配錯誤:R在素食主義者的大距離矩陣
df <- as.data.frame(matrix(rnorm(20668704), nrow = 123028))
library(vegan)
mydist <- vegdist(df)
錯誤vegdist(DF): 長向量(參數4)未在.Fortran
支持如果我使用pryr包找出距離矩陣需要多少內存,我發現需要121 GB,這比我擁有的RAM要少。
library(pryr)
mem_change(x <- 1:123028^2)
121 GB
我知道過去有對R中的單個對象2個十億值的極限,但我認爲,限制在最新版本的R的消失是否有另一個內存限制我不知道?
底線是,我想知道:我能做些什麼關於這個錯誤?這是真的是因爲內存限制還是我錯了?我想留在R中,除了k-means之外還使用聚類算法,所以我需要計算一個距離矩陣。
你可以隨時計算分段。 –