2

我目前正在开发一个 R 包,我想包含一个 class 对象R6,它基本上是一个环境,以便用户可以轻松使用它(与包中的数据集一起使用的方式相同)。

我有一个R6ClassConstructor网格世界:

Gridworld <- R6::R6Class( ... )

然后我可以使用 来创建一个新实例grid = Gridworld$new(),它会生成一个 R6 类。然后我想将此对象保存grid在包中,以便用户只需输入grid.

我尝试在文件夹中另存grid.RData对象,并在/data文件夹中记录 R6 类/R

#' Gridworld
#' @format R6 class
"grid"

但这会导致错误devtools::document:文件'grid.RData'有幻数'X'

如何R6在包中包含此类对象?

4

1 回答 1

0

也许最好在new加载包时调用。这样您就不会在引用语义方面遇到任何麻烦。

在这里查看答案

在你的情况下,这看起来像

# file R/zzz.R
.onLoad <- function(libname, pkgname){
  gridworldInstance <- Gridworld$new() 
}

# documentation
#' Instance of grid world
#' 
#' some description
#'
#' @name gridworldInstance
NULL
#' @export
于 2017-06-27T10:20:12.113 回答