问题描述
我为一个名为“ DataSHIELD”(https://www.datashield.ac.uk)的学术项目工作,并且参与了他们的新功能的开发和测试。新功能之一称为“ {ds.glmPredict
”,它是本机R“ predict.glm()
”功能的自定义版本,但是进行了更改,使得没有非散列统计信息返回到数据分析人员(这是整个DataSHIELD项目的总体目标。
此功能代码包含在github项目和分支中,我将其拉入RStudio项目,以便将所有内容放置在正确的目录中。
但是,如果我说,尝试为该特定功能“ ds.glmPredict
”加载帮助;
> ?ds.glmPredict()
Error in .helpForCall(topicExpr,parent.frame()) :
no methods for ‘ds.glmPredict’ and no documentation for it as a function
但是,如果我随后运行devtools::check()
,则可以通过R幕后的某些东西来工作(对我对devtools的无知,请问我从来没有遇到过一个很好的消息源,可以用简单的语言向我解释什么是devtools软件包。 ),完成后,我可以运行?ds.glmPredict()
,它将首先生成我想要的帮助控制台信息:
> ?ds.glmPredict()
Rendering development documentation for 'ds.glmPredict'
DataSHIELD的基础结构是否出现问题,导致R在首次启动程序时无法识别特定功能,或者可能完全是其他原因?
解决方法
devtools::document
将解决问题。 R
找不到帮助文件,因为您只拉了功能代码而没有.Rd
中的package root\man
个文件,这就是为什么会引发错误。 devtools::check
自动生成并检查软件包,并在构建过程中调用devtools::document
,它只是roxygen2::roxygenize
的包装,在将特殊注释转换为{{1 }}文件。