2016-11-09 86 views
1

在我的R-包,我有:「發現以下調用數據()加載到全球環境」

f <- function() 
{ 
    data('MyDataSet') # Load a dataset in my own package 
    ... # Use MyDataSet to return something 
} 

的程序包生成器有一個警告消息:

Found the following calls to data() loading into the global environment 

什麼是解決問題的最簡單方法?我可以只將數據集加載到變量中嗎?我不需要將它保存到全球環境中。

回答

2

CHECK

我測試了這一點,我可以包沒有問題。

什麼給了我你的筆記(不是一個警告,不是一個錯誤)實際上執行檢查()的包。

問題

這是首先重要的,如果你想要把包放在CRAN。由於如果您沒有0筆記,0警告,0錯誤,包裹很可能會被拒絕。

如果你只是想使用你自己的軟件包,你也可以保持原樣。由於該檢查查找編碼準則並執行其他有用的事情,所以確實也可以爲您的私有包解決這個問題。

FIX

一種解決方案可能是包括此數據集在你的包本身。 您必須在包中創建一個名爲data的文件夾才能執行此操作。在那裏添加數據集爲.rda文件。我想在你的包描述中LazyData:TRUE也需要設置。 (認爲​​這是默認)。

現在,你可以寫:

f <- function() 
{ 
    x <- MyPackageName::MyDataSet 
    ... # Use MyDataSet to return something 
} 
相關問題