0

抱歉,这很模糊,但我必须发布 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 中还是将它放在下部函数中并移动它直到它找到一些东西?

很不清楚!

4

0 回答 0