Я преобразовал кадр данных в разреженную матрицу, чтобы избежать проблем с памятью и сэкономить место, как только исходные данные не помещаются в память.Преобразование разреженной матрицы (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 к матрице, а затем к relratingmatrix, но заполняет пустые ячейки «0», что неверно. – Nelson
Te решение: datamat_2 <-new ("realRatingMatrix", data = datamat). Существует ссылка: http: //www.inside-r.org/packages/cran/recommenderlab/docs/colSds – Nelson