我有一个我在RStudio中构建的R包,让我们称它为my_pkg.当我devtools::load_all(".")在RStudio中运行时(特别是使用Ctrl + Shift + L快捷方式),我收到以下消息:
Loading my_pkg
Warning messages:
1: character(0)
2: character(0)
3: character(0)
4: character(0)
5: character(0)
Run Code Online (Sandbox Code Playgroud)
包中的所有功能都可以正常工作.我NAMESPACE和DESCRIPTION文件已完成,没有语法错误.?my_pkg但是,当我运行时,帮助文件与文件中提供的规范不匹配DESCRIPTION.当我删除Importsfrom时DESCRIPTION,没有更多的character(0)警告信息.当然,我需要那些进口.当我改为Imports时Suggests,会有character(0)警告信息.
这是描述文件内容,更改了一些内容以保护IP.
Package: scoutdroid
Title: This is where the title is.
Version: 0.1
Authors@R: "Ben Hanowell <benjamin.hanowell@redfin.com> [aut, cre]"
Description: This is where the description is.
Depends:
R (>= 3.1.0)
Imports:
dplyr,
lubridate,
mboost,
randomForestSRC, …Run Code Online (Sandbox Code Playgroud) 作为一个最小的工作示例,我试图将MASS包中的一些对象导入我自己的包(称为Test) - 以abbey数据集为例:
### In R/Test.R:
#' @import MASS
abbey # Check that the dataset has been imported OK
### DESCRIPTION:
Package: Test
...
Imports: MASS
### NAMESPACE:
# Generated by roxygen2 (4.0.1): do not edit by hand
import(MASS)
Run Code Online (Sandbox Code Playgroud)
我Build & Reload在 RStudio 中点击并收到错误消息:
==> devtools::document(roclets=c('rd', 'collate', 'namespace'))
Updating Test documentation
Loading Test
Error in eval(expr, envir, enclos) : object 'abbey' not found
Writing NAMESPACE
Documentation completed
==> Rcmd.exe INSTALL --no-multiarch --with-keep.source …Run Code Online (Sandbox Code Playgroud)