r - 如何将 R6 类导入到包中?

标签 r r6

我想在我的个人包中使用函数,该包建立在 Microsoft365R 包内定义的名为 ms_team 的 R6 类之上。现在这些函数都失败了,因为即使我导入了我需要的函数,当我尝试调用我的一个依赖于它们的函数时,我得到一个错误,指出找不到这个对象。

Error in login$get_team(team_id) : object 'ms_team' not found

我试图在我的函数中包含 @importFrom Microsoft365R ms_team ...,但没有成功。使用依赖于包中外部定义的 R6 类的函数的魔法词是什么?

最佳答案

此处为 Microsoft365R 开发人员。我假设您使用的是 roxygen2。

要从另一个包中导入导出的对象(任何对象,而不仅仅是 R6 类),将

#' @importFrom pkgname objname
NULL

在您的包的一个 R 文件中。在这种情况下,你会做

#' @importFrom Microsoft365R ms_team
NULL

虽然导入整个包可能更容易,也更健壮:

#' @import Microsoft365R
NULL

参见 here例如,我如何将 AzureGraph 包导入 Microsoft365R 本身。

关于r - 如何将 R6 类导入到包中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66674846/

相关文章:

r - R 中具有多个条件的 count_if (EXPSS)

css - 使用 rvest 抓取所选下拉项的文本

r - 在面向对象的 R 编程中,什么是 "active binding"?

r - 在 R6Class 中创建动态方法,print(ls.str()) 的魔力

r - 如何使用列名对数据框列进行子集化?

r - 可以 lapply 不修改更高范围内的变量

r - 用上一行的值填充行的子集

r - "User"R中R6类的构造函数

r - 如何分析 R6 类函数?

r - 如何在 golem Shiny 应用程序中包含 R6 对象以跨模块共享数据