在查阅在线caTools文档和错误消息本身后,我的SplitRatio正确地为0到1之间的数字,为0.7。但无论我如何将数字更改为不同的小数,我仍然会抛出此错误消息。
> split = sample.split(tweetsSparse$Negative, SplitRatio=0.7)
Error in sample.split(tweetsSparse$Negative, SplitRatio = 0.7) :
Error in sample.split: 'SplitRatio' parameter has to be i [0, 1] range or [1, length(Y)] range
答案 0 :(得分:0)
短篇小说:
(太)长篇故事:
正如MrFlick所说,列出足够的代码可以重现问题,包括有关tweetsSparse的一些信息。幸运的是,我在同一个MOOC,可以提供一些帮助,无需额外的信息;尽管有这些有限的信息,MrFlick还是遇到了这个问题。
如果你在我们创建tweetsSparse数据帧的原始数据框上运行了colnames(推文),你会看到: [1]“鸣叫”“平均”“否定”
但是当生成tweetsSparse的“负列”时,教授键入: tweetsSparse $ Negative =推文$ Negative
R在推文数据框中查找了相应的信息,但没有找到它,因为当我们想要的实际列是小写的“负数”时,我们指示它查找大写的“否定”。作为回应,没有添加该列;运行colnames(tweetsSparse)并且没有列出。
当我们使用因变量tweetsSparse $ Negative在tweetsSparse上调用sample.split时,R查找该列,但是被赋予NULL(即在使用缺少所述数据框架中的$查找列时返回的值column;例如,tweets $ missing_col在R)中运行时也返回NULL。我认为sample.split期望一个向量,所以它抛出了一个错误。通过键入它来看看sample.split的代码(之后没有parens),你会看到它执行了一个完整性检查,将tweetsSparse $ Negative的长度与SplitRatio进行比较,以便知道输入错误。长度(tweetsSparse $ Negative)为零(即长度(NULL)== 0),小于SplitRatio(小于1的数字);很明显,你不能有意义地分割零项目来获得70%的项目和一项30%的项目。