我收到以下错误:
sample.split中的错误:'SplitRatio'参数必须是i [0,1]范围或[1,length(Y)]范围
当我尝试运行以下代码时:
set.seed(1000)
library(caTools)
split = sample.split(letters$isB, SplitRatio = 0.5)
答案 0 :(得分:7)
语法没有错。您可能错误地拼写了结果变量(字母$ isB)。由于字母$ isB不存在(或未加载),因此会出现错误。
答案 1 :(得分:0)
也许letters$isB
长度为0?
答案 2 :(得分:0)
上一个答案(https://stackoverflow.com/a/35706404/6188234)
“也许字母$ isB长度是0?”
有更多上下文的意义。根据我对另一个MOOC的经验,我收到了这个错误,来到SO寻找答案。
参考Sample.split in R - SplitRatio parameter
我注意到,如果您尝试拆分的变量不存在,则会生成错误 - 因为输入错误。因此错误消息误导编码器查看SplitRatio常量,而不是您要拆分的变量。
split = sample.split(字母$ THISDOESNOTEXIST,SplitRatio = 0.5)
在我的情况下,这个拼写错误是变量名称的camelCase,因此难以查看语法错误。修复该类型可以清除此错误。
我希望这适合你。
答案 3 :(得分:0)
我有完全相同的问题,我确信语法和变量没有任何问题。 更有趣的是,如果我在Rmarkdown上手动运行相关的块,代码就可以工作,但是当我从上到下运行整个markdown时,它会返回错误。
答案 4 :(得分:0)
我收到的错误类似于上面列出的错误。我意识到我忘记在下面列出的代码中更改我的变量
split = sample.split(dataset$Profit,
从利润到销售的单位(在我的实际数据集中变量)与利润,这是来自另一个项目的代码。希望这会有所帮助 - 我在下面列出了我的其余代码和错误。
> library(caTools)
> set.seed(123)
> split = sample.split(dataset$Profit, SplitRatio = .8)
Error in sample.split(dataset$Profit, SplitRatio = 0.8) :
Error in sample.split: 'SplitRatio' parameter has to be i [0, 1] range or [1, length(Y)] range
> training_set = subset(dataset, split == TRUE)
Error in split == TRUE :
comparison (1) is possible only for atomic and list types
> test_set = subset(dataset, split == FALSE)
Error in split == FALSE :
comparison (1) is possible only for atomic and list types
答案 5 :(得分:0)
set.seed(1000)
library(caTools)
split = sample.split(letters$isB, SplitRatio = 0.5)
isB应该是因变量的标签,在数据集中查找该名称。
Here,您可以找到引发此错误的原因。