- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 R 包,我一直在 Linux 下开发,而我在 Windows 下测试它的可怕时刻已经到来。
文档是使用 roxygen 完成的,我使用 cygwin 来构建包。
问题是,当我 roxygenise('test-package')
, roxygen 截断 \usage
文档的一部分到一个字符。它对我的某些但不是全部功能执行此操作,我无法弄清楚模式。
在 Linux 或 Windows 下运行相同的命令(即来自 R 提示符的 roxygenise('test-package')
)时不会发生这种情况——只是在 Windows 下运行 Cygwin(在 Windows 下使用 R devtools + 命令提示符对我来说不是一个选项——它是一个大带有 Makefile 等的项目)。
在所有情况下,我都使用 roxygen v2.2.2。
更新:
对于具有默认参数的任何函数,这似乎都会发生。
我将其归结为一个可重现的示例,并尽可能减少以隔离问题:
# this function used to trim strings, but I've stripped it right down
# to eliminate it as a cause of the problem
trim <- function(x='asdf')
{
return( x )
}
package.skeleton('test')
trim.R
(在 test/R 中)并将以下 roxygen 添加到顶部,因此文件如下所示:#' trim white spaces from a string
#'
#' @param x string or vector of strings to trim
#' @return x trimmed.
#' @export
trim <-
function(x='asdf')
{
return( x )
}
library(roxygen2)
roxygenise('test')
trim.Rd
文件(在测试/人):\name{trim}
\alias{trim}
\title{trim white spaces from a string}
\usage{
t
}
\arguments{
... # rest of .Rd file - nothing wrong here.
\usage{t}
??
R CMD check
一个关于文档参数未出现在
\usage
中的错误,但那是因为
\usage
被截断了。
roxygen2
中的东西依赖于在 Mac、Windows 和 Linux 中运行但不适用于 Cygwin 的东西?
C:/Program Files/R/R-2.14.2/bin
中的那个) - 我没有意识到 Windows R 可以在 Cygwin 下工作。
最佳答案
这是不是 一个修复,但一个解决方法。
我一直在使用从 Cygwin 的包管理器安装的 R,而不是我的 Windows R(即 C:/Program Files/R/R-2.14.2/bin 中的那个) - 我没有意识到 Windows R 可以在西格温。
如果我在 Cygwin 中使用 Windows R,错误就会消失。如果我在 Cygwin 中使用 Cygwin R,则存在该错误。
我只能假设这是与 Cygwin R 相关的一些错误,而不是 roxygen2。
现在我将使用在 cygwin 中使用 Windows R 的解决方法(事实上,现在我知道我可以做到这一点,无论如何都不需要 Cygwin R)。这仍然让我可以访问像 make
这样的 linux 命令。 , sed
和 grep
,但允许我让文档工作。
问题仍然是 Cygwin 中的 Cygwin-R(而不是 Cygwin 中的 Windows-R)导致此错误,但也许它不再与 roxygen2 相关。
关于roxygen2 + cygwin + 默认参数 = 截断的 `\usage` 部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9595865/
我正在使用 roxygen2 开发一个包,其中包括许多 lattice基于可视化。这些很好,但不是使用包所必需的,因此 lattice列于 Suggests: DESCRIPTION的部分文件而不是
我在对包裹进行 roxygenizing 时遇到问题。几个月前它最后一次工作,从那以后我没有检查过,所以不确定我添加的代码片段是否破坏了它,如果我的系统配置发生了变化,或者roxygen2是否发生了变
具体例子: 在我的包中,我的一个函数使用 grep形成 base包裹。 我应该明确导入 grep还是只会引入无用的依赖项?我的意思是,每个人都已经拥有 base包,对吗? 为了说明: #' Group
方式Roxygen似乎有效的是第一行是 \title ,其他所有内容都在 \details 中,然后任何 @foo 指令处理这些事物。但 R 文档比这更丰富。我可以在 .Rd 文件中包含 "\sect
我刚刚开始使用 roxygen 包,到目前为止我对结果非常满意。不过我想知道,有没有办法指定 roxygen 应忽略某些用户无法访问的函数? 具体来说,我不想弹出 .Rd 文件,因为我在包中使用 .o
我将 R 与 Roxygen 一起使用。那里有 @param block ,就像 Doxygen 和 JavaDoc 中一样。由于 R 是动态类型的(甚至是鸭子类型的),因此没有像 C++ 或 Jav
考虑一个基础包 XYZ ,别人写的,有一个函数ABC ,我想扩展ABC的功能通过以下方法在我的新(非 XYZ)包中。 ABC <- function(...){ ##INSERT EXTRA WO
到目前为止,我正在学习 Roxygen 并取得了良好的进展。我已经能够记录我正在处理的大部分包,但是我有一些我似乎无法正确处理的地方。请考虑以下最小 R: ##' Test Roxygen Comme
作为一个简单而具体的例子: #' Inverse Value Matching #' #' Complement of \code{%in%}. Returns the elements of \co
我关注了 Vignette发现pseudoprime-package.Rd中的License、Author等信息没有写入DESCRIPTION?我做错什么了吗? 最佳答案 不,您写的是描述,而不是 R
我有 R6Class 的文档: #' Root component that don't have parent, #' #' It should not be used directly, only
通过多行 @param,我可以使用输入参数轻松完成此操作通过这样做: #' @param var1 This is for x #' @param var2 This is for y #' @par
我有一个简单的 shell 脚本来构建我的 Roxygen 文档,构建包,检查,然后在我的机器上安装新构建的包。这很简单: #! /bin/sh R CMD roxygen -d myPackage
我的函数的一个参数的默认值包含一个“%”。这似乎是 roxygen 的一个问题,它会在尝试构建 latex 文档时产生很多警告并且 R CMD 检查失败。 我怎样才能使这个功能(及其文档)工作?使用
关闭。这个问题是opinion-based .它目前不接受答案。 想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它. 4年前关闭。 Improve this
是否可以在 roxygen 进程中将 .R 文件包含在我的包的数据目录中? 我已将几个 .R 文件放入数据目录中。当它们使用 data() 获取数据时,它们会读取原始数据文件并执行一些转换。 最佳答案
是否可以在 roxygen 生成的文档中包含图像?我有许多函数本质上是 ggplot() 的包装器,我想通过显示输出示例来记录它们。 最佳答案 根据 R 2.14 公告的变更列表: Rd markup
以下 MWE 无法编译(通过 devtools::document()): #' MWE #' #' @examples #' format('{}') # Works #' format('{')
每次我尝试roxygenize 一个包我都会得到这个错误: Error: is.call(call) is not TRUE traceback() 的结果: 11: stop(sprintf(nge
我正在使用 roxygen 创建我自己的包。我有一个导致问题的函数: ##' extract.sig.metadata ##' @param foo bar ##' @author me ##' @e
我是一名优秀的程序员,十分优秀!