I am trying to run 'recommenderlab' library of R with SAP PA custom component.
I have tested it in many ways - it is a new library, so I thought that maybe it is not keen on those, that haven't been included in the default installation. I found a place, where SAP PA configures stuff what to include in the installation of R and reinstalled but to no avail.
Then I tried another library - seriation - that that had not been included, but this worked, even without being included in SAP PA installation script (I had seriation previously in my local R installation, though). Whereas the recommenderlab library, once I give the first command: q<-as(mydata, "realRatingMatrix”): which coerces the original SAP data to a realRatingMatrix form with the help of the package, just gives an error.
The SAP PA error message, once I add the row is a general one:
Error, could not find function MyMain.
In the SAP PA logs, I get a more detailed error message:
Error during processing response.: boolean is not a function
The script works fine in my R installation and thus I don't know what to do next?
The script:
mymain <-function(mydata, howmany)
{
howmany<-as.numeric(howmany)
library(recommenderlab)
q<-as(mydata, "realRatingMatrix”)
r<- Recommender(q, method = "POPULAR")
recom <- predict(r, q, n = howmany)
l<-as(recom,"list")
res<-cbind(rep(seq_along(l), times=sapply(l, length)), unlist(l))
output <- as.data.frame(res)
return(list(out=output))
}
log file location
C:\Users\JaanU_000\AppData\Local\Temp\sapvi\logs
installation script location
C:\Program Files\SAP Predictive Analysis\Desktop\plugins\com.sap.pa.runtime.config_1.20.0.201410080051-36\resources\R64
The csv data that I am passing to the custom component as mydata
userid | productid | rating |
1 | 1 | 2.5 |
1 | 2 | 3.5 |
1 | 3 | 3 |
1 | 4 | 3.5 |
1 | 5 | 2.5 |
1 | 6 | 3 |
2 | 1 | 3 |
2 | 2 | 3.5 |
2 | 3 | 1.5 |
2 | 4 | 5 |
2 | 6 | 3 |
2 | 5 | 3.5 |
3 | 1 | 2.5 |
3 | 2 | 3 |
3 | 4 | 3.5 |
3 | 6 | 4 |
4 | 2 | 3.5 |
4 | 3 | 3 |
4 | 6 | 4.5 |
4 | 4 | 4 |
4 | 5 | 2.5 |
5 | 1 | 3 |
5 | 2 | 4 |
5 | 3 | 2 |
5 | 4 | 3 |
5 | 6 | 3 |
5 | 5 | 2 |
6 | 1 | 3 |
6 | 2 | 4 |
6 | 6 | 3 |
6 | 4 | 5 |
6 | 5 | 3.5 |
7 | 2 | 4.5 |
7 | 5 | 1 |
7 | 4 | 4 |