相关疑难解决方法(0)

更好地解释何时使用Imports/Depends

" 写入R扩展 "手册提供了有关何时使用导入或取决的以下指导:

一般规则是

  • 包,其名称空间仅需要加载使用库(PKGNAME)包必须在"进口"字段中列出,而不是在"Depends中"字段.
  • 需要附加以使用库(pkgname)成功加载包的包必须仅在"取决于"字段中列出.

有人可以提供一点清晰度吗?我如何知道我的软件包何时只需要加载名称空间,何时需要附加软件包?两者的例子是什么?我认为典型的包只是一组函数,有时会调用其他包中的函数(其中一些工作已被编码).这个场景是1还是2?

编辑

我写了一篇博文,其中有关于这一特定主题的部分(搜索"Imports v Depends").视觉效果使其更容易理解.

r

134
推荐指数
4
解决办法
2万
查看次数

在RStudio中运行devtools :: load_all(".")时出现字符(0)警告

我有一个我在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)

包中的所有功能都可以正常工作.我NAMESPACEDESCRIPTION文件已完成,没有语法错误.?my_pkg但是,当我运行时,帮助文件与文件中提供的规范不匹配DESCRIPTION.当我删除Importsfrom时DESCRIPTION,没有更多的character(0)警告信息.当然,我需要那些进口.当我改为ImportsSuggests,会有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)

r devtools package-development

23
推荐指数
1
解决办法
2466
查看次数

编写 R 包:如何导入另一个包?

作为一个最小的工作示例,我试图将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)

import r package

6
推荐指数
1
解决办法
1039
查看次数

标签 统计

r ×3

devtools ×1

import ×1

package ×1

package-development ×1