查找我的 R 包中所有出现的旧包 (sp)

问题描述 投票:0回答:1

我维护一个部分依赖于 sp 的 R 包。 sp 现在即将退休,我需要找到使用它的代码中的所有出现位置 - 以替换为 sf 中的函数。

找到那些我使用

sp::
的地方很容易,但我可能忘记在某个地方了,因为roxygen2在准备文档时仍然尝试加载sp。 有没有办法找到文件或包中某个包中所有出现的函数?

感谢您的帮助!

我已经手动打印了 sp 中的函数列表,但我不打算手动 grep 它们。一定有更简单的方法...

r function package legacy
1个回答
0
投票

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,这将在查看器窗格中显示所有匹配项,并具有漂亮的颜色。

© www.soinside.com 2019 - 2024. All rights reserved.