标签: roxygen2

Roxygen:如何在不混乱帮助索引的情况下记录方法?

我正在尝试将方法记录在与通用文件相同的文件中。我希望该usage部分包含该方法,但我不希望为该方法生成别名。这是因为我有很多通用方法,并且我想保持索引相对干净。

我已经尝试了两者@rdname@describeIn但两者似乎都会自动生成一个\alias标签,然后显示在索引中。Rd我可以通过手动编辑文件并删除条目来获得所需的结果\alias{},但这并不是真正可持续的。

更新:刚刚从 R CMD 检查中注意到以下内容:

带有 \usage 条目的函数需要有适当的 \alias 条目,并记录它们的所有参数。

所以也许我正在寻找的东西甚至不合法。

r roxygen2

5
推荐指数
1
解决办法
1432
查看次数

roxygen2 相当于 python

我想为用 python 编写的包创建一些文档。

当我在 R 中创建包时,roxygen2 会为我做这件事。

有 python/pandas 等效项吗?

python roxygen2

5
推荐指数
1
解决办法
1501
查看次数

R CMD 检查失败并显示“未定义的导出”

我正在尝试创建一个 R 包,但我不断收到错误消息:

Error in namespaceExport(ns, exports) : 
  undefined exports: MCLE, defineFunctions, naiveMLE
Run Code Online (Sandbox Code Playgroud)

R CMD check在我的包上运行时。我正在使用roxygen2,错误消息中列出的三个函数是三个带@export标签的函数。我检查了堆栈溢出的类似问题/解决方案:

但这些似乎都不能解决我的问题(我没有使用<<-,我没有使用通用帮助页面导出任何函数,问题不ggplot2在于 CRAN 上的 R 包或不同的 R 包)。

我在删除NAMESPACE文件后构建了包,并且构建成功。我还确认包中的函数被列为“未定义”,我不知道还有什么要检查的!

export r package roxygen2

5
推荐指数
1
解决办法
964
查看次数

使用 devtools+roxygen2 生成的 R 文档文件中缺少 \title{}

我正在使用 devtools 和 roxygen2 编写一个 R 包来做文档。该文档适用于除我的两个 R 文件之外的所有文件。对于这两个,第一个函数的文档文件 (.Rd) 是在没有 \title{} 行的情况下生成的。例如,这是我的普通 rd 文件顶部的样子:

% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/general.R
\name{rmsd}
\alias{rmsd}
\title{Calculates the Root Mean Squared Deviation/Error}
\usage{...`
Run Code Online (Sandbox Code Playgroud)

这是由代码块生成的:

#' Calculates the Root Mean Squared Deviation/Error
#'
#' This function calculates the root mean squared error/deviation (RMSD/E)
#'     between two vectors of numbers.
#'
#' @param x numeric, the first vector
#' @param y numeric, the second vector 
#' …
Run Code Online (Sandbox Code Playgroud)

r devtools s4 rstudio roxygen2

5
推荐指数
0
解决办法
625
查看次数

roxygen2 包是否支持表格?

我想尝试在 .Rd 文件中使用降价。我想我在函数文档的末尾得到了 @md 使它解析降价。但是没有看到这个表格出现,原始文本也没有出现... roxygen 支持表格吗?

#' makes bar
#' @description
#' prints 2 x
#' @details see this table
#' 
#' |a |b |c |
#' |--|--|--|
#' |1 |3 |4 |
#'
#' @param x how much foo
#' @return - 
#' @export
#' @family tmp
#' @examples
#' foo(2)
#' @md
foo <- function(x) {
    print(2 * x)
}
Run Code Online (Sandbox Code Playgroud)

markdown r roxygen2

5
推荐指数
1
解决办法
738
查看次数

将页眉添加到 roxygen2 文档

我正在使用 roxygen2 来记录 R 包中的对象,如R 包一书中所述。我想在每个对象的文档页面的顶部(和底部)插入一些文本,例如,“机密 - 请勿发布”。对于 HTML 文档页面,我可以使用 CSScontent属性来实现,当然也可以通过插入一些 HTML 来实现。

那么如何修改 roxygen2 渲染的文档页面的页面标题呢?现在我只对 HTML 文档页面感兴趣,而不对 PDF 感兴趣,所以使用 roxygen2 或 Rd 将一些任意 CSS 或 HTML 插入每个文档页面可能就足够了。那可能吗?

理想情况下,我想找到一个可以为整个包全局设置一次的选项,因为如果我必须将它单独添加到每个对象的文档中,我可能会错过一些。但是如果我必须将它添加到每个对象中,我可以忍受它。

rd roxygen2

5
推荐指数
0
解决办法
156
查看次数

如何使用 @importFrom 使其适用于整个 R 包?

自动化数据分析工作流程 我在packagename.R文件packagename夹中的文件中有以下代码。

我知道我会经常使用其他包中的某些函数,所以我想导入它们一次而不是到处输入它们。我认为我应该能够使用上述方法做到这一点,但它在我的 RStudio 中不起作用。

#' packagename: Package containing tools support project work.
#'
#' This package provides a central repository for methods to facilitate 
#' project work
#' @importFrom dplyr bind_rows mutate filter group_by ungroup
#' @importFrom purrr pluck map map_chr map_dbl
#' @importFrom lubridate ymd_hms
#' @importFrom odbc odbc
#' @importFrom DBI dbConnect dbDisconnect
#' @importFrom stringr str_detect str_replace_all
#' @docType package
#' @name packagename
NULL
Run Code Online (Sandbox Code Playgroud)

在另一个文件中,topic.R我有:

do_thing <- function(x) str_replace_all(x, " …
Run Code Online (Sandbox Code Playgroud)

r roxygen2 r-package

5
推荐指数
0
解决办法
4899
查看次数

检查 S3 通用/方法一致性......警告

我已经阅读了以下两个讨论:
Roxygen2 - 如何在
使用 Roxygen 构建 R 包时正确记录 S3 方法S3 方法一致性警告
以及以下两个教程:
http : //cran.r-project.org/doc/manuals/R-exts .html#Generic-functions-and-methods
http://adv-r.had.co.nz/S3.html
但我的问题仍然没有解决。以下是详细信息:
我想在一个包中定义一个 S3 的 plot() 泛型方法,我的代码是:

#' description
#'
#' more details
#'
#' @param x "test" object
#' @param label parameter one
#' @param log parameter two
#' @param ... graphical parameters to plot
#'
#' @examples
#' plot(a)
#'
#' @export
plot <- function(x, label=TRUE, log=TRUE,  ...){
  UseMethod("plot")
}

#' @export
plot.test <- function(x, label=TRUE, log=TRUE, ...){ …
Run Code Online (Sandbox Code Playgroud)

r object r-s3 roxygen2

5
推荐指数
1
解决办法
1095
查看次数

在 r 脚本中记录函数

我在脚本中有一些函数,我想使用 #roxygen2 来记录这些函数,但是在线资源已经指出要记录包中的函数。我不想创建一个包,而只是在我进行过程中记录我的自定义函数。任何资源都会有所帮助。

我已经使用#roxygen2 语法编写了有关该函数的一些详细信息并尝试对其进行记录,但它返回“错误:package.dir必须包含描述文件”和“您调用roxygenize()的目录不是包根目录?”
这是#roxygen2 笔记

#'@title get_weather.
#'@description The function takes arguments of directory, country, station and year.
#'@param directory The directory where the weather data is stored relative to the working.
#'@param country The country where the data was recorded 
#'@param station The weather station number.
#'@param year The year in which the data was recorded.
#'@return A data frame called WDATA. it contains data on vapour pressure(VP), wind speed (WN), precipitation (RAIN), …
Run Code Online (Sandbox Code Playgroud)

r roxygen2

5
推荐指数
1
解决办法
2021
查看次数

在不引入依赖关系的情况下,在 R 包中定义 S3 方法的首选方法是什么?

我有一个 R 包(目前不在 CRAN 上),它定义了来自其他包(特别是knitr::knit_printhuxtable::as_huxtable)的几个通用函数的 S3 方法。但是,它们不是我的包的关键部分,所以我不想在用户安装我的包时创建对这些包的依赖。在 R 4.0.0 之前,我导出了 S3 方法而不导入泛型。使用roxygen2,我的@export指令被翻译成export()NAMESPACE 中的指令而不是S3method(). 这在 R 版本 < 4.0.0 中运行良好,因为 R 首先在全局环境中查找匹配generic_function.class方法,而不是依赖于 S3 方法的正确注册。但是,根据developer.r-project.org 上的这篇博客,R 不再查找未注册的 S3 方法。

最好的方法是什么?现在,我已经@importFromroxygen2块中添加了指令,并将两个包都添加到了说明的导入部分。但是,据我所知,这意味着安装我的软件包的任何用户都必须安装knitrhuxtable无论他们是否愿意。

r project r-s3 roxygen2

5
推荐指数
1
解决办法
349
查看次数

标签 统计

roxygen2 ×10

r ×8

r-s3 ×2

devtools ×1

export ×1

markdown ×1

object ×1

package ×1

project ×1

python ×1

r-package ×1

rd ×1

rstudio ×1

s4 ×1