我渴望学习如何将数据示例合并为函数上方的注释,例如:
##' @examples
##' ## Set working directory...
##' ## Load data into R session:
##' data <- system.file("extdata", "data.txt", package="...", sep="\t", header=TRUE, stringsAsFactors = FALSE)
##'
##' ## For reproducible results:
##' set.seed(999)
Run Code Online (Sandbox Code Playgroud)
我将"data.txt"文件放在目录中:/ pkg_Name/inst/extdata /.但是,R CMD检查表示此步骤中的错误.如果我继续进行R CMD构建和R CMD安装,那么在加载软件包后,我无法将数据导入R会话......有人能告诉我出了什么问题吗?这是在函数帮助文档末尾包含数据示例的正确方法吗?
非常感谢!
有人可以举例说明如何正确使用模板标签Roxygen2.我试图做最明显的事情(对我来说):
在我的packageName-package.R档案中:
#' [... other Roxygen blocks ...]
#'
#' @templateVar testTemplateTag Testing one two
NULL
Run Code Online (Sandbox Code Playgroud)
然后在someFunction.R文件中
#' [... other Roxygen blocks ...]
#'
#' @template testTemplateTag
Run Code Online (Sandbox Code Playgroud)
我收到错误:
Error : Can not find template testTemplateTag
Run Code Online (Sandbox Code Playgroud)
我试图有一个地方来记录通常重复的定义示例等.当这些东西嵌套在我一直在使用的一组函数中时@inheritParms.但有些东西,如定义和其他描述,在几个地方使用.我已经搜查高和低的使用@template和@templateVar并没有发现任何东西.
谢谢.
我是CRAN包的维护者,并在加载时收到以下消息:
* checking whether package ‘qdap’ can be installed ... [10s/10s] WARNING
Found the following significant warnings:
Warning: replacing previous import ‘annotate’ when loading ‘NLP’
Warning: replacing previous import ‘rescale’ when loading ‘scales’
Run Code Online (Sandbox Code Playgroud)
因为我使用plotrix和scale包以及NLP和ggplot包.他们具备的功能rescale和annotate共同点.这会导致最新的CRAN检查发出重大警告.所以我决定"修理"它.
我的描述是这样的:
Package: qdap
Type: Package
Title: Bridging the gap between qualitative data and quantitative analysis
Version: 1.0.0
Date: 2013-06-26
Author: Tyler Rinker
Maintainer: Tyler Rinker <tyler.rinker@gmail.com>
Depends:
R (>= 3.0.0),
ggplot2 (>= 0.9.3.1),
gdata,
grid,
Imports:
NLP,
openNLP,
plotrix,
scales,
LazyData: TRUE …Run Code Online (Sandbox Code Playgroud) 我正在编写一个包,以方便进口巴西社会经济微观数据集(人口普查,PNAD等).我预见该包的两个不同用户组:
巴西的用户可能会对使用葡萄牙语的文档感到更放心.可能在某种程度上可以理解英语,但是外语可能会使包装感觉不那么"符合人体工程学".
更广泛的国际用户社区,英语文档可能是必要条件.
是否可以以文档"双语"(英语和葡萄牙语)的方式编写包,并且向用户显示的语言将取决于他们的国家/语言设置?
也,
这在roxygen2文档框架中是否可行?
我意识到,通过使包装更加复杂和难以维护,使包装更加用户友好是一种权衡.从以前的经验来看这种权衡的一般评论也是受欢迎的.
编辑:根据评论的建议,我交叉发布了r-package-devel mailling list.在这里,然后按照底部的答案.Duncan Murdoch发布了一个有趣的答案,内容涵盖了@Brandons回答(贝娄)的一些内容,还包括我认为有用的两个额外建议:
有一种语言的包,但不同语言的插图.我会遵循这个建议.
必须使用软件包的版本,比方说1.1和1.2,每种语言一个
在构建包时,我收到了错误
Error in namespaceExport(ns, exports) :
undefined exports: FooBarBaz
Run Code Online (Sandbox Code Playgroud)
这是什么意思,我该如何解决?
我正在努力密切关注@ hadley的书,以学习编写R包的最佳实践.我很高兴看到这些关于本书哲学的界限:
任何可以自动化的东西都应该是自动化的.尽可能少地用手做.尽可能多地使用功能.
因此,当我阅读NAMESPACE文件中的导入指令和DESCRIPTION文件中的"Imports:"字段之间的依赖关系和(某种)混淆差异时,我希望它能roxygen2自动处理它们.毕竟
NAMESPACE中提到的每个包装也必须出现在Imports或Depends字段中.
我希望roxygen2在我的函数中使用@import,并确保它包含在DESCRIPTION文件中.但它不会自动执行此操作.
所以我要么手动将它添加到DESCRIPTION文件中,要么几乎手动使用devtools::use_package.
寻找答案,我在SO中找到了这个问题,@ hadley在评论中证实了这一点
目前,命名空间roclet将修改NAMESPACE但不修改DESCRIPTION
和其他帖子(例如这里或这里)collate_roclet讨论的地方,但" 这只有在你的代码有副作用时才有意义;最常见的是因为你正在使用S4 ".
我想知道:
roxygen2)和我正在尝试使用roxygen2记录R包中的一些数据集.仅考虑其中一个:
mypkg/data/CpG.human.GRCh37.RDaCpG.human.GRCh37和一个名为:的文件mypkg/R/cpg-data.R,其中包含:
#' @name CpG.human.GRCh37
#' @title CpG islands - human - genome build: GRCh37/hg19
#' @description This data set list the genomic locations of human CpG islands,
#' with coordinates based on the GRCh37 / hg19 genome build.
#' @docType data
#' @usage CpG.human.GRCh37
#' @format a \code{RangedData} instance, 1 row per CpG island.
#' @source UCSC Table Browser
#' @author Mark Cowley, 2012-03-05
#' @export
NULL
Run Code Online (Sandbox Code Playgroud)当我进行roxygenize时,会创建它mypkg/man/CpG.human.GRCh37.Rd,包含:
\docType{data}
\name{CpG.human.GRCh37}
\alias{CpG.human.GRCh37} …Run Code Online (Sandbox Code Playgroud) 我正在使用roxygen2作为记录我的R包的工具,我发现roxygen2中有一个@references标签,但这似乎只接受自由格式文本.我找到了一些关于roxygen的演示文稿,其中有@bibliograph和@cite标签,但我是否认为roxygen2中没有这样的东西?
我应该以某种方式从bibtex文件中取出引用并在@references标记之后直接用适当的格式手动编写它们,还是有更聪明的方法呢?在多个函数/ rd文件中,我需要引用大约七篇不同的文章.
我正在使用\deqn{}{}roxygen2来记录包中函数的方程式.LaTeX(第一个参数deqn)渲染得很好,因为在LaTeX方程中忽略了空格,但是我对ASCII(第二个参数deqn)表示有问题.
问题是我的格式被破坏了(看起来roxygen将整个deqn命令放在"单行"上,然后将该行包裹在~60列左右).有没有办法强制roxygen2保存.R文件中的roxygen命令/注释中的空格格式?
我在文件中有以下代码example.R:
#'Example
#'
#'deqn ASCII example
#'
#'\deqn{ \sigma = \sqrt{ \frac{Z}{n} \sum
#' \left[ \textstyle\frac{1}{2}\displaystyle
#' \left( \log \frac{H_i}{L_i} \right)^2 - (2\log 2-1)
#' \left( \log \frac{C_i}{O_i} \right)^2 \right] }
#'}{sqrt(N/n * runSum(0.5 * log(OHLC[,2]/OHLC[,3])^2 -
#' (2*log(2)-1) * log(OHLC[,4]/OHLC[,1])^2, n))}
#'
#'@param x An example parameter
#'@return A example result
#'@author Joshua Ulrich
#'@keywords ts
#'@export
"example" <-
function(x) {
}
Run Code Online (Sandbox Code Playgroud)
我使用以下R代码生成example.Rd文件:
library(roxygen2)
setwd("dir/containing/example.R/") …Run Code Online (Sandbox Code Playgroud) 我正在写一个包但是一个持续的R CMD check警告阻止我完成包并将其发布到CRAN.我roxygen2用于内联文档,尽管这可能不是错误的根本原因.
如果您知道如何删除此警告,我很可能会找到一种方法来使用它roxygen2.
如何 从包裹检查中删除警告Functions/methods with usage in documentation object ... but not in code ?
该R CMD check警告:
* checking for code/documentation mismatches ... WARNING
Functions/methods with usage in documentation object 'names<-' but not in code:
names<-
Run Code Online (Sandbox Code Playgroud)
功能和roxygen文档:
#' Updates names and variable.labels attribute of surveydata.
#'
#' @name names<-
#' @rdname names
#' @aliases names<- names<-.surveydata
#' @param x surveydata object
#' @param value New …Run Code Online (Sandbox Code Playgroud)