我正在开发一个依赖于包的包foo,在我的包代码中有一个对从中导出的函数的调用foo.我已经包括在包的名称NAMESPACE与import(foo)声明,并还可根据Imports:其线性DESCRIPTION文件.但是,运行时收到以下警告R CMD check:
r 'library' or 'require' calls not declared from: 'foo'
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
我需要在加载包时显示免责声明消息。看完帖子后
\n\n库/包开发 - 加载时的消息
\n使用 .onLoad 加载依赖包
我现在有一个zzz.R文件只包含
.onLoad <- function(libname, pkgname){\n packageStartupMessage(\'Regarding data obtained from www.retrosheet.org:\\n\n The information used here was obtained free of charge from \n and is copyrighted by Retrosheet. Interested parties may\n contact Retrosheet at "www.retrosheet.org"\', domain = NULL, appendLF = TRUE)\n}\nRun Code Online (Sandbox Code Playgroud)\n\n我有两个问题:
\n\n我需要打电话到.onLoad某个地方吗?或者这会自动发生吗?
我正在使用文件Collate中的字段DESCRIPTION。是否zzz.R需要添加到该列表中?
作为检查,我运行以下代码。包启动消息在使用时出现install,但在调用时不会出现library,这是我所期望的。
> library(devtools)\n> install()\n...\nReloading installed …Run Code Online (Sandbox Code Playgroud) 我在数据子目录下有.RDa格式的数据文件.但是,该R CMD check命令无法识别该load("test.RDa")命令及其在此阶段失败并发出以下错误:
Warning in readChar(con, 5L, useBytes = TRUE) :
cannot open compressed file 'test.RDa', probable reason 'No such file or directory'
Error in readChar(con, 5L, useBytes = TRUE) : cannot open the connection
Calls: load -> readChar
Execution halted
Run Code Online (Sandbox Code Playgroud)
你能告诉我原因吗?我应该指定一个路径来指定从哪里加载?