我维护一个部分依赖于 sp 的 R 包。 sp 现在即将退休,我需要找到使用它的代码中的所有出现位置 - 以替换为 sf 中的函数。
找到那些我使用
sp::
的地方很容易,但我可能忘记在某个地方了,因为roxygen2在准备文档时仍然尝试加载sp。
有没有办法找到文件或包中某个包中所有出现的函数?
感谢您的帮助!
我已经手动打印了 sp 中的函数列表,但我不打算手动 grep 它们。一定有更简单的方法...
R CMD 检查,正如 @Carl Witthoft 在他的评论中提出的,肯定是最简单的方法。
否则,特别是如果您使用 RStudio,您可以使用 findInFiles 包。首先获取sp的所有函数:
spfuncs <- ls(envir = asNamespace("sp"))
然后构造一个与这些函数名称匹配的正则表达式:
regex <- sprintf("(%s)", paste0(spfuncs, collapse = "|"))
然后,从 R 目录中,使用 findInFiles,如下所示:
findInFiles::findInFiles("R", regex, perl = TRUE)
如果您使用 RStudio,这将在查看器窗格中显示所有匹配项,并具有漂亮的颜色。