首页 > 解决方案 > 使用 R - 推荐实验室,无法将结果输入 Microsoft SQL Server 的数据框

问题描述

这是我在此的头一篇博文。当谈到 R 时,我是一个新手,所以请记住这一点。我正在使用 CRAN 的推荐实验室库构建推荐系统(基于用户内容的过滤)。

我正在尝试sp_execute_external_script与 SQL Server 2016 一起使用,但无法将结果放入数据帧(存储过程需要)以返回结果。

在那之前一切正常。我尝试过 as.matrix、as.data.frame,使用了多种方法。

这是我的代码:

EXEC sp_execute_external_script
  @language =N'R',
  @input_data_1 =N'select * from matrix_table',
  @input_data_1_name = N'rentaldata',
  @output_data_1_name = N'Sales',
  @script=N'library(recommenderlab);

  rentaldata2 <- as.data.frame(rentaldata);

  rentaldata2 <- rxImport(rentaldata2);

  rentaldata2$enduser <- factor(rentaldata2$enduser);

  Sales_Interim <- as(rentaldata2, "realRatingMatrix"); 

  as(Sales_Interim, "list")

  makemeUBCF <- Recommender(Sales_Interim[1:75], method = "UBCF")

  #give me top 5 recommendations for two users that were not part of 
  training set          
  recomUBCF <- predict(makemeUBCF, Sales_Interim[76:77], type="ratings", n=5)

  Sales <- as.data.frame(recomUBCF)
  '

任何人都可以帮忙吗?

我尝试使用 as.data.frame()、as.matrix() 写入文件,而不是使用 write.table、lapply、writeLines....

谢谢!

标签: rsql-serverrecommender-systemsrecommenderlab

解决方案


我已经在我的服务器上尝试过,并为我使用了以下作品:

Sales <- data.frame(as(recomUBCF,"matrix"))

由于 recomUBCF 应该是一个 realRatingMatrix 它应该可以工作。

希望它有帮助,干杯,阿诺


推荐阅读