为建议的包导入函数的正确方法是什么?

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

在自己的包中导入其他包的功能非常容易(example),但这需要对该包具有硬依赖关系(

Imports
文件中的
DESCRIPTION
)。就我而言,这是一个建议的软件包,因此我收到警告:
'::' or ':::' import not declared
R CMD 检查。

所以现在,我正在本地重新创建函数,但是这是有问题的,因为加载两个包时,还会出现另一个警告

The following objects are masked from [the other package]
。它们是相同的,所以这不是一个大问题,但足以令人烦恼。我无法想象还有比这更好的做法吗?

如果我们需要演示的实际代码,这里是我的包的有问题的导入:https://github.com/rempsyc/lavaanExtra/blob/main/R/save_as_x.R

r import package dependencies
1个回答
0
投票

从技术上讲,没有“正确”的方法可以做到这一点,因为 CRAN 认为导入未导出函数的政策不好。 但是,如果您对此感到满意,您仍然可以使用

get

utils::getFromNamespace()
if (requireNamespace("package name", quietly = TRUE)) {
  ext_fun <-get("fun envir = asNamespace("package name"))
} 

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