sample.int(length(x),size,replace,prob)中的错误:无效的'size'参数;当我使用EvaluationScheme

时间:2018-06-26 16:25:23

标签: r cross-validation recommender-systems recommenderlab

我想使用软件包Recommenderlab

的功能来评估我的模型
scheme <- evaluationScheme(UserByProductRRM, method = "cross-validation", k = 10, given =-1 , goodRating = 4)

但是我不明白为什么会有这个错误

  

sample.int(length(x),size,replace,prob)中的错误:无效   “大小”参数

2 个答案:

答案 0 :(得分:0)

也许您的数据集(UserByProductRRM)的行只有0。您必须删除这些行。在 RealRatingMatrix BinaryRatingMatrix 中,所有行必须至少具有1个。尝试使用rowSums函数来检测只有0的行。

答案 1 :(得分:0)

这个错误的原因似乎是无法计算出你想要从数据集中提取的样本分数的维度。也就是说,你指定的“size”参数的值是无法计算的。因此,我建议您尝试从控制台查看“size”参数。 “evaluationScheme”函数指的是示例函数。示例函数无法计算“大小”。一个例子如下。

library(tidytext)
library(tidyverse)
library(dplyr)
data("iris")
df_iris<-as.data.frame(iris)
train<-sample(1:nrow(df_iris),0.60*nrow(df))
nrow(df)

控制台:

 > train<-sample(1:nrow(df_iris),0.60*nrow(df))
    Error in sample.int(length(x), size, replace, prob) : 
      invalid 'size' argument
    > nrow(df)
    NULL

没有什么叫做“df”的东西可以计算并传递给“size”参数。无法进行计算并且缺少“大小”参数。这导致了错误。