2016-12-07 10 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で実行しようとすると、予測文まで完全に動作します。 Cholmodエラーファイル../MatrixOps/cholmod_submatrix.cで '無効 RSET'、ライン209

:私は、次のようなエラーに

subCsp_ijでのエラーを(X、I、J、=ドロップをドロップ)に遭遇しています

私はこれをどうしたらいいのか、そしてこの問題をデバッグする方法を知りません!どんな助けも素晴らしいだろう!

ありがとうございます!

答えて

0

cholmod_submatrix.cは、行列のrownamesを整数として解析し、構築された行列は文字列としてrownamesを持っています。それを整数に変更すると動作します!