我可以成功地使用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
我解释错误信息的方式是两个data.tables之间没有重叠。
Q1-Am我能很好地解释这个消息吗?
Q2 - 任何想法为什么这可能会发生在更大的数据集中?这可能是由于数据集的大小造成的吗?
我确实有很多独特的值,根据foverlaps
帮助文件,可以预期会按比例减慢速度,但不会在它进入数百万行之前减速,这远非如此。谢谢。
答案 0 :(得分:0)
没有可复制的示例,因此无法调查您的问题。
正如卡尔在评论中所述,这很可能是由输入中存在的NA值引起的。
在最新的开发版本中,Arun对foverlaps
进行了一些改进。这些改进之一是在检测到NA值时更好的错误消息。
要安装最新的开发版本,请使用以下调用。
install.packages("data.table", repos="https://Rdatatable.gitlab.io/data.table")
此功能即将作为1.12.2发布到CRAN。