创建R包遇未文档化代码对象警告,如何解决?
解决R包检查中
getPathwayStats未文档化的警告 针对你遇到的问题,可通过以下步骤消除警告:
给泛型函数添加完整文档注释
即便已为MYOBJECT类的方法写了文档,泛型函数本身也必须被文档化。在泛型定义上方添加Roxygen注释,示例如下:#' 获取通路统计信息 #' @param object 输入对象 #' @param ... 其他额外参数 #' @export setGeneric("getPathwayStats", function(object, ...) standardGeneric("getPathwayStats"))务必包含
@export标签,确保泛型被正确导出,Roxygen会据此生成对应的Rd文档。用
@describeIn关联方法与泛型文档
在MYOBJECT类方法的Roxygen注释中,通过@describeIn标签明确关联到泛型函数,让Roxygen将方法文档合并到泛型的Rd文件中,避免检查时判定泛型未文档化:#' @describeIn getPathwayStats 针对MYOBJECT类的通路统计实现逻辑 #' @param pathway 目标通路名称 #' @return 包含统计结果的数据框 #' @export setMethod("getPathwayStats", signature(object = "MYOBJECT"), function(object, pathway, ...) { # 方法具体代码实现 })重新生成文档并验证导出配置
运行devtools::document()重新生成所有Rd文档,然后检查NAMESPACE文件,确认同时存在泛型和方法的导出语句:- 若为S4方法,
NAMESPACE中应有exportMethods(getPathwayStats)或对应方法的导出项; - 若为S3方法,则会是
export(getPathwayStats)和S3method(getPathwayStats,MYOBJECT)。
- 若为S4方法,
排查是否存在同名未文档化函数
检查包内所有R脚本,确认没有重复定义一个未添加文档注释的普通函数(非方法)getPathwayStats,这类重复定义也会触发该警告。
内容的提问来源于stack exchange,提问作者ZheFrench
相关产品推荐
相关产品推荐

