我正在构建一个 R 包,我想用它dtplyr
来执行各种数据操作。我的问题是,这dtplyr
似乎只有在我导入整个data.table
(即使用 roxygen #' @import data.table
)时才有效。没有这个,我会收到如下错误:
Error in .(x = sum(x), y = sum(y), :
could not find function "."
如果我可以通过只导入某些函数来解决这个问题data.table
,那就太好了,但包中似乎没有函数.()
。我的知识data.table
有限,但我只能假设它用于.()
编辑解析的代码(类似于基础 R bquote()
),但dtplyr
由于某种原因需要data.table
加载它才能工作。
我尝试了各种方法,例如withr::with_package("data.table", code)
and requireNamespace("data.table")
,但到目前为止,导入整个包是唯一可行的方法。这不是一个可行的解决方案,因为它通过从data.table
.
注意,这个包包含一个项目,许多其他分析师将在未来进行工作。虽然简单地编写data.table
代码在性能和一般良好实践方面可能更可取,但使用dtplyr
翻译dplyr
代码可以提高可读性和易用性,这在这种情况下更为重要。