[英]Do I have to export functions conditionally imported via :: in R?
我正在從在各種R包中定義了類的對象中提取信息。 例如,我從各種統計模型(不總是采用coef方法)中提取系數。 我通常不必導入那些軟件包,因為我定義了一個通用函數,用戶可以為其添加方法。 每種統計模型都有一種方法,如果用戶僅對一種特定的模型類型感興趣,那么導入所有這些模型定義將是愚蠢的。
但是,在某些情況下,我需要使用在包中定義的函數。 例如,lme4包中的confint.merMod方法。 到目前為止,我使用package::function
來調用這些函數,並將此命令包裝在一個exists(function)
if-condition中,以確保該軟件包確實提供了此功能(因為該功能可能僅在某些版本的包)。
但是,我只是在http://developer.r-project.org/blosxom.cgi/R-devel/NEWS (請參閱2013年9月5日)上發現,在R版本3.0.2中,“'R CMD check'可以完成更多工作徹底檢查已聲明的包和名稱空間。它報告由“ ::”導入的對象,這些對象不會導出。
這是否意味着我真的必須將export("function")
到NAMESPACE文件中? CMD不會因為功能只是有條件地導入而抱怨嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.