某处未知的错误消息 - 如何调试?

时间:2013-08-14 19:00:25

标签: r

很抱歉这很模糊,但是我必须发布100条我不能做的专有代码行。

我编写的一些R代码调用了一个中等复杂的R函数。当我将一个奇数大小的数据块传递给它时,代码或真正的函数似乎失败了,但所有发生的事情都是R退出函数而没有返回值并打印此消息:

  Error in if (range[2] - range[1] == 1) return(c(range[1], range[2])) : 
  missing value where TRUE/FALSE needed

我的功能中没有任何东西像

  'range[2] - range[1] == 1'

所以我认为这实际上是在一些较低级别的R函数中生成的,但我不知道如何让R更清楚地知道失败的位置。我已经看过在顶级传递给我的函数的东西,它看起来很好所以问题可能在某个地方较低。我猜这是由某种

引起的
  '(NA - value) ==1' 

由于NA而失败,但这只是猜测。

如何让R更清楚地了解故障实际发生的位置,在函数中逐行打印语句?我怀疑tryCatch可能是解决方案的一部分,但我不清楚我把它放在哪里。我是否在tryCatch中包装我的高位调用,还是将它放在lower函数中并将其移动直到找到了什么?

很不清楚!

0 个答案:

没有答案