为何gamm4调用mgcv内部函数未触发R CMD check警告?
gamm4调用mgcv内部函数规避R CMD check警告的原因
gamm4能避开内部函数调用的警告,核心是两个关键点:
依赖声明与版本锁定:gamm4在DESCRIPTION中将mgcv列为
Depends而非Imports,同时明确指定最低依赖版本mgcv (>= 1.7-23)。Depends会让mgcv在gamm4加载时直接附着到R的搜索路径,版本锁定则表明作者已确认该版本及以上的mgcv内部函数gam.setup和variable.summary接口稳定,CRAN对这种有明确版本约束的内部函数调用会放宽检查标准。历史遗留豁免规则:gamm4是CRAN上的老牌包,在R包检查规则尚未严格限制内部函数调用的时期就已上线,属于CRAN的“历史遗留豁免”(grandfathered)包。对于这类长期维护、未出现兼容性问题的包,CRAN不会因调用内部函数触发警告;而新开发的包会受到更严格的规则约束,所以你开发的包会触发警告。
内容的提问来源于stack exchange,提问作者Øystein S
相关产品推荐
相关产品推荐

