如何在 R 包中加载依赖项?

max*_*oku 3 r package cran

我正在开发一个 R 包,它在DESCRIPTIONS文件中可用

Imports: 
    dplyr,
    ggplot2,
    ncdf4
Run Code Online (Sandbox Code Playgroud)

我有一个示例函数,我在其中使用了第三个依赖项

testFun <- function(file, lat, long){
  ncfname <- file.path(file,fsep = .Platform$file.sep)
  xfile <- nc_open(ncfname) #Opens the NetCDF file
  lat <- ncvar_get(xfile, 'lat') #Extracts all latitudes

  ...Calculations

  return(XYZ)
}
Run Code Online (Sandbox Code Playgroud)

当我Build and Reload打包并运行该功能时,它could not find function "nc_open".

但是,当我用它替换它时它会起作用 ncdf4::nc_open

我是否应该为packagename::我在代码中使用的每个依赖项添加前缀?或者我错过了什么?

通常,我希望从 安装所有依赖项,DESCRIPTIONS并且可以使用它的功能,而无需每次都使用包前缀。

Hon*_*Ooi 6

任何一个:

  • 用它来自的包显式地为函数添加前缀: ncdf4::nc_open(...)

或者:

  • 在 NAMESPACE 文件中添加一行,importFrom(ncdf4, nc_open)然后在代码中调用不带包的函数:nc_open(...)

除了importFrom为要导入的每个函数添加一行之外,您还可以使用import(ncdf4)snarf 从该包中提取所有内容。