2016-12-07 53 views
0

我在Tableau中構建推薦系統。下面的代碼,arg值被傳遞爲列向量。Tableau + R:Cholmod錯誤'無效rset'

library(reshape2); 
library(recommenderlab); 
curUser = .arg1; 
df <- data.frame(username=.arg1, workbook=.arg2, value=.arg3); 
recMatrix <- as(as.matrix(acast(df,username ~ workbook)), "realRatingMatrix"); 
recModel <- Recommender(recMatrix[1:nrow(recMatrix)], method = "UBCF"); 
rec <- predict(recModel, recMatrix[rownames(recMatrix) == curUser,], n=10); 
recList <- as(rec, "list"); 
paste(recList[1][[1]], collapse = ","); 

當我在Tableau之外運行這個Rscript時,它完美地工作。當我嘗試在Tableau中運行它時,它完美運行直到預測聲明。我遇到以下錯誤

錯誤subCsp_ij(X,I,J,降=滴):Cholmod錯誤 '無效 RSET' 在文件../MatrixOps/cholmod_submatrix.c,線209

我不知道該怎麼做,以及如何去調試這個問題!任何幫助將是驚人的!

在此先感謝!

回答

0

cholmod_submatrix.c將矩陣的rownames解析爲整數,而構造的矩陣將rownames作爲字符串進行解析。改變它爲整數得到它的工作!