簡體   English   中英

bigmatrix:CreateFileBackedBigMatrix中的錯誤(as.character(backingfile),as.character(backingpath)

[英]bigmatrix: Error in CreateFileBackedBigMatrix(as.character(backingfile), as.character(backingpath)

經過幾個小時的閱讀后,我發現在R中處理大(非常大的矩陣)的最佳方法是使用bigalgebra

我想存儲一個大的80,000 x 80,000 0的矩陣,它不適合RAM,然后用大矩陣乘法的結果替換它的單元格。

我有這個錯誤

Error in CreateFileBackedBigMatrix(as.character(backingfile), as.character(backingpath)
Problem creating filebacked matrix.

做完之后

my_matrix <- filebacked.big.matrix(ncol = ncol(Xt), nrow = nrow(X), 
                 type = "double", backingpath = getwd(), 
                 descriptorfile = "X.bin.desc", backingfile = "X.bin")

這是我的數據的可重現的類似情況

X <- matrix(rexp(200, rate=.1), ncol = 11, nrow = 80000)
Xt <- t(X)

所以我的全部內容是

library(bigalgebra)

X <- matrix(rexp(200, rate=.1), ncol = 11, nrow = 80000)
Xt <- t(X)

my_matrix <- filebacked.big.matrix(ncol = ncol(Xt), nrow = nrow(X), 
                 type = "double", backingpath = getwd(), 
                 descriptorfile = "X.bin.desc", backingfile = "X.bin")

但是如果我運行它(在我的情況下沒用)

my_matrix <- filebacked.big.matrix(ncol = ncol(X), nrow = nrow(Xt), 
                 type = "double", backingpath = getwd(), 
                 descriptorfile = "X.bin.desc", backingfile = "X.bin")

它在沒有警告的情況下運行並存儲一個小的11 x 11矩陣。

我正在使用帶有12 GB RAM的OS El Capitan,我知道$ X ^ t * X $需要~47 GB的RAM來計算,這就是為什么我使用bigalgebra將其存儲在HDD中。

檢查可用的硬盤空間,因為您發出的錯誤信號可能是由於硬盤空間不足而無法記下filebacked.big.matrix所需的后備文件。 我有同樣的錯誤,我通過將外部硬盤指示為“backingpath”來解決它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM