【发布时间】:2013-03-17 03:59:49
【问题描述】:
我正在整理一个包裹;为简单起见,使用一个功能和一个小插图说明其用途。
在尝试添加小插图之前,我能够毫无困难地运行 R CMD check packagename。
该软件包在packagename 的R 目录中有一个函数foo.R(它使用基本图形制作绘图)。
vignettes 目录中的小插图(.Rnw 文件)像这样调用函数 foo:
<<fig1, fig=true, echo=true, include=true>>=
df0 <- data.frame(x1=rnorm(10))
foo(df0)
@
我想“按规则”玩,但像往常一样运行 R CMD check packagename 会给出:
When sourcing 'foo.R':
Error: could not find function "foo"
Execution halted
我尝试将以下内容添加到 .Rnw 文件中,但没有帮助:
\begin{document}
\VignetteDepends{packagename}
我也试过了,但没有成功:
<<fig1, fig=true, echo=true, include=true>>=
df0 <- data.frame(x1=rnorm(10))
source("foo.R")
foo(df0)
@
请注意,NAMESPACE 文件已包含以下内容:
export(foo)
问题:
每次调用包中的函数时,是否需要在.Rnw 文件中添加特定的source() 命令?如果是这样,我如何指定路径(即检查小插图时R CMD check从哪里开始?)
或者我应该通过将以下内容添加到DESCRIPTION 文件来采取简单的方法:
BuildVignettes: False
(因为我能够从现有的.Rnw 文件构建.pdf)。
我正在尝试遵循Writing R extensions 中的建议。
【问题讨论】: