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