github dev R 包的函数和元数据的访问列表

Access list of functions and metadata for github dev R package

请注意: 这是来自 here 的 cross-posted,它没有收到回复。 所以我在这里添加它。

我目前 co-developing github 上的一个 R 软件包,可以像往常一样使用 devtools::install_github('repo/pkgname) 安装。

我们努力使用 roxygen2 来记录各个函数。 我们将功能分为“内部”(@keywords internal) 和“外部”(@export) 这样用户就可以使用外部功能,即pkgname::external_<fn_name> 和访问文档。他们还可以使用 ::: 访问内部 如果他们愿意,可以发挥作用。

对于我们的包的一些元分析,有一个功能会很好 产生了以下列的整洁小标题:

作为 dplyr 的原始版本(non-tibble 格式)。可以这样做:

library(dplyr) # Assume installed already
ls('package:dplyr')

这会生成函数名称的字符向量,但不会包含更多 有用的元数据。

理想情况下,我们可以在执行 devtools::load_all(".") 之后生成此小标题 我们的包开发,跟踪 real-time.

中的变化

是否有任何现有的 R 包可以帮助生成这样的元数据 tibble? 或者可以使用现有的 R 包为此开发这样的功能吗?

非常感谢与此相关的任何帮助。

我的问题有了答案,可能对其他人有帮助。事实证明,可以使用令人惊叹的 pkgdown 包访问此元数据。

打开附加到包的 RStudio 项目时,请参阅下面的代码 您正在开发(使用 devtools):

# Setup - install required libraries
# install.packages(c("pkgdown", "here"))

# If you are in your local package directory, run the following
# to get the required package metadata
pkg <- pkgdown::as_pkgdown(pkg = here::here())

# Inspect the topics object, which contains function metadata
pkg$topics %>% dplyr::glimpse()

# Get list of all functions and just required metadata
pkg_fns_all <- pkg$topics %>%
    dplyr::select(name, file_in, internal)

# Get the non-internal functions, acccessed using pkgname::function
pkg_fns_user <- pkg_fns_all %>% dplyr::filter(!internal)

# Get the internal functions, acccessed using pkgname:::function
pkg_fns_internal <- pkg_fns_all %>% dplyr::filter(internal)

希望这对其他人有帮助:slight_smile:

一些小的突出项目:

  • 我不确定如何从 以上,但如果有人可以添加一些详细信息,那将很有用。
  • 我不确定如何将它应用于 CRAN 我系统上安装的软件包,例如dplyr