2014-08-30 38 views
3

我有一個R package,它可以從名字中預測性別。要做到這一點,需要幾個較大的數據集。我已將這些放入separate R package。理想情況下,gender包可能取決於genderdata包,兩者都將被CRAN接受。但看起來CRAN不會採用genderdata包,因爲它太大(26MB)。 (我猜「大數據」> = 5MB)獲取R包所需外部數據的最佳方法

所以我的問題是:什麼是讓這些數據轉化爲我的gender包,如果我不能在DESCRIPTION文件包括Imports:genderdata包的最佳方式。

我的想法是依靠devtools,並提供這樣的功能:

install_gender_data <- function() { 
    if(!require(genderdata)) devtools::install_github("lmullen/gender-data-pkg") 
} 

然後我會用.onLoad()和包啓動消息告訴用戶運行該功能,如果他們不已經有genderdata加載。

+1

聽起來不錯。您可以使用任何方式包含數據集的迷你版本,以便您的軟件包可以運行一些測試而不需要大數據? – Spacedman 2014-08-30 20:34:03

+0

這是一個聰明的想法。我想知道如何讓測試通過CRAN/Travis而無需訪問數據包。 – 2014-08-30 21:04:16

+0

可能主觀的觀點,但CRAN包應該是一般性的。如果你的軟件包只能根據一個國家的偏差預測名稱,那不是很一般。建議:只包括一個數據樣本,然後非常清楚數據格式應該爲您的功能工作。然後你的用戶可以創建自己的數據集。另外,可以輕鬆下載數據,例如通過使用[這些想法](http://christophergandrud.blogspot.co.uk/2013/01/sourcegithubdata-simple-function-for.html) – Andrie 2014-08-31 17:37:50

回答

相關問題