2
我已經將數據幀轉換爲稀疏矩陣,以避免內存問題並節省空間,一旦原始數據不適合內存。將稀疏矩陣(dgCMatrix)轉換爲realRatingMatrix
現在,我需要這個稀疏矩陣轉換爲realratingmatrix這樣我就可以建立與recommenderlab的推薦,但我得到了以下錯誤:
Error in as(aux_max, "realRatingMatrix") :
no method or default for coercing 「dgCMatrix」 to 「realRatingMatrix」
我的示例代碼如下:
library(Matrix)
UserID<-c(10090,10090,10090,10316,10316)
MovieID <-c(63155,63530,63544,63155,63545)
Rating <-c(2,2,1,2,1)
trainingData<-data.frame(UserIDa,MovieID,Rating)
UIMatrix <- sparseMatrix(i = as.integer(as.factor(trainingData$UserID)),
j = as.integer(as.factor(trainingData$MovieID)),
x = trainingData$Rating
)
dimnames(UIMatrix) <- list(sort(unique(trainingData$UserID)),
sort(unique(trainingData$MovieID)))
rrm <- as(UIMatrix, "realRatingMatrix")
任何人都可以提供一些建議如何解決?
此解決方案不是正確無誤的。實際上,這種方法會將dgCMatrix強制轉換爲矩陣,然後重新轉換矩陣,但會填充不正確的「0」的空單元格。 – Nelson 2015-02-12 17:42:03
Te解決方案是:datamat_2 <-new(「realRatingMatrix」,data = datamat)。有一個鏈接:http://www.inside-r.org/packages/cran/recommenderlab/docs/colSds – Nelson 2015-02-12 17:43:19