Foverlaps错误:if(any [x [[xintervals [2L]]] - x [[xintervals [1L]]] <0L)中的错误)停止

jpi*_*elo 6 r data.table

我可以成功使用foverlaps我的数据集的一小部分样本,但是当使用完整数据(data.tables超过30k行)时,它会崩溃并抛出以下错误:

错误信息:

Error in if (any(x[[xintervals[2L]]] - x[[xintervals[1L]]] < 0L)) stop("All entries in column ",  :
  missing value where TRUE/FALSE needed
Run Code Online (Sandbox Code Playgroud)

我解释错误消息的方式是两个data.tables之间没有重叠.

Q1-Am我能很好地解释这个消息吗?

Q2 - 任何想法为什么这可能发生在更大的数据集上?这可能是由于数据集的大小造成的吗?

我确实有很多独特的值,根据foverlaps帮助文件,可以预期会按比例减慢速度,但不会在它进入数百万行之前,这远非如此.谢谢.

jan*_*cki 1

没有可重现的示例,因此无法调查您的问题。
正如 Carl 在评论中所述,这可能是由输入中存在的 NA 值引起的。在最近的开发版本中,Arun
进行了一些改进。foverlaps其中一项改进是在检测到 NA 值时提供更好的错误消息。

install.packages("data.table")
Run Code Online (Sandbox Code Playgroud)

自 1.12.2 起,此功能已在 CRAN 上出现。