【问题标题】:R markdown "argument is of length zero"R markdown“参数长度为零”
【发布时间】:2020-02-22 21:36:38
【问题描述】:

代码在 R 中运行良好,但在 R Markdown 中运行时出现“参数长度为零”错误。只需运行一个循环以将概率输出拆分为 50% 的 0 或 1。

浏览了一些类似的帖子,但在转向降价时没有发现任何有关问题的信息。

for (i in 0: (nrow(test)-1)){
  i <- i+1
  if (test$pred_basemodel[i] < 0.5){
    test$pred_basemodel[i] <- 0
  }
  else {
    test$pred_basemodel[i] <- 1
  }
}

感谢您的任何建议!

【问题讨论】:

  • 虽然我知道您的代码来自 r-markdown 文档,但问题中没有其他任何内容表明事实与它有任何关系(或通常与降价有关)。如果有相关内容,请包含更多上下文(至少在您的 Rmd 文档的可重现部分中),以便我们查看上下文。

标签: r for-loop r-markdown markdown


【解决方案1】:

我认为您可以在for 循环中删除i &lt;- i+1,因为i 是自动运行通过1:nrow(test) 的迭代器。此外,您可以使用1:nrow(test) 而不是0:(nrow(test)-1) 作为for 循环条件,因为您的索引自然是从1 开始的。

你可以试试下面的代码

for (i in 1:nrow(test)){
  if (test$pred_basemodel[i] < 0.5){
    test$pred_basemodel[i] <- 0
  }
  else {
    test$pred_basemodel[i] <- 1
  }
}

【讨论】:

  • 明白了,感谢您了解!所以这在常规 R 中运行良好,但是 R Markdown 现在在你的代码中抛出同样的错误......
  • @EmmaDahl 您是否在降价中包含test?喜欢stackoverflow.com/a/39369090/12158757
  • 是的,这只是我的原始代码的复制粘贴
  • @EmmaDahl 也许你最好从你的 Rmarkdown 代码中粘贴更多部分,否则可能很难知道发生了什么
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-10
  • 1970-01-01
  • 2020-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多