2014-04-30 12 views
5

मैं एक आर पैकेज लागू कर रहा हूं, जहां मेरे पास 'डेटा' फ़ोल्डर में कई बड़ी .rda डेटा फ़ाइलें हैं।आर पैकेज से डेटा सेट को बाहर निकालें

जब मैं पैकेज बनाता हूं (आरएमडी के साथ .tar.gz पैक की गई फाइल बनाने के लिए निर्माण के साथ), डेटा फ़ाइलों को पैकेज में भी शामिल किया गया है, और चूंकि वे वास्तव में बड़े हैं, इससे निर्माण (साथ ही साथ) जांचें) प्रक्रिया बहुत धीमी है, और अंतिम पैकेज आकार बेकार रूप से बड़ा है।

ये डेटा पैकेज के एक समारोह के माध्यम से कुछ डीबी से डाउनलोड किए जाते हैं, इसलिए इरादा पैकेज में डेटा शामिल नहीं करना है, लेकिन उपयोगकर्ता को डेटा फ़ोल्डर को अपने डीबी से पॉप्युलेट करने देता है। मेरे द्वारा उपयोग किए जाने वाले डेटा परीक्षण के लिए हैं, और उन्हें पैकेज में शामिल करने का कोई मतलब नहीं है।

मेरे प्रश्न का सारांश यह है: क्या डेटा को 'डेटा' फ़ोल्डर में रखना संभव है, लेकिन उन्हें निर्मित पैकेज से बाहर करना संभव है?

संपादित

ठीक है, मुझे लगता है कि एक पंक्ति है .Rbuildignore नाम की एक फ़ाइल बनाने के द्वारा पहली बार एक समाधान नहीं मिला:

^data/.+$ 

वैसे भी समस्या आर अध्यक्ष एवं प्रबंध निदेशक को स्थापित करने और आर अध्यक्ष एवं प्रबंध निदेशक की जांच प्रक्रियाओं के लिए बनी हुई है, जो .Rbuildignore फ़ाइल को ध्यान में रखते हैं।

किसी भी फ़ोल्डर को इंस्टॉल/चेक प्रक्रियाओं से बाहर करने के लिए कोई सुझाव?

उत्तर

4

यदि आप .Rbuildignore का उपयोग करते हैं तो आपको पहले अपना पैकेज जांचना चाहिए (यह एक चेक-अनदेखा नहीं है)। यहाँ एक डेबियन वातावरण में कुछ परीक्षण और एक यादृच्छिक पैकेज:

[email protected]:~/src/yapomif/pkg$ ls 
data DESCRIPTION man NAMESPACE R 

[email protected]:~/src/yapomif/pkg$ R 
> save(Formaldehyde, file = "data/formal.rda") 

[email protected]:~/src/yapomif/pkg$ ls -l 
totale 20 
drwxr-xr-x 2 l l 4096 mag 1 01:31 data 
-rw-r--r-- 1 l l 349 apr 25 00:35 DESCRIPTION 
drwxr-xr-x 2 l l 4096 apr 25 01:10 man 
-rw-r--r-- 1 l l 1189 apr 25 00:33 NAMESPACE 
drwxr-xr-x 2 l l 4096 apr 25 01:02 R 

[email protected]:~/src/yapomif/pkg$ ls -l data/ 
totale 4 
-rw-r--r-- 1 l l 229 mag 1 01:31 formal.rda 

अब मैं बनाने वास्तव में अपने .Rbuildignore

[email protected]:~/src/yapomif/pkg$ em .Rbuildignore 
[email protected]:~/src/yapomif/pkg$ cat .Rbuildignore 
^data/.+$ 

ठीक है के

[email protected]:~/src/yapomif/pkg$ cd .. 
[email protected]:~/src/yapomif$ R CMD build pkg 
> tools:::.build_packages() 
* checking for file ‘pkg/DESCRIPTION’ ... OK 
* preparing ‘yapomif’: 
* checking DESCRIPTION meta-information ... OK 
* checking for LF line-endings in source and make files 
* checking for empty or unneeded directories 
Removed empty directory ‘yapomif/data’ 
* building ‘yapomif_0.8.tar.gz’ 

ललित निर्माण (आप के बारे में संदेश देखते हैं yapomif/डेटा)। अब पैकेज

[email protected]:~/src/yapomif$ R CMD check yapomif_0.8.tar.gz 
> tools:::.check_packages() 
* using log directory ‘/home/l/.src/yapomif/yapomif.Rcheck’ 
* using R version 3.1.0 (2014-04-10) 
* using platform: x86_64-pc-linux-gnu (64-bit) 
... 
जाँच

... हमेशा की तरह

अब फ़ाइल की जाँच करते हैं सब कुछ (होम निर्देशिका के लिए चले गए मेरी विकास dir साफ रखने के लिए)

[email protected]:~/src/yapomif$ mv yapomif_0.8.tar.gz ~ 
[email protected]:~/src/yapomif$ cd 
[email protected]:~$ tar xvzf yapomif_0.8.tar.gz 
[email protected]:~$ ls yapomif 
DESCRIPTION man NAMESPACE R 

तो कोई डेटा निर्देशिका

लेकिन

[email protected]:~/src/yapomif$ R CMD check pkg 

... 

Undocumented data sets: 
    ‘Formaldehyde’ 

तो, जैसा कि कहा गया है, पहले निर्माण करें, फिर जांचें।

HTH, लुका

+1

@Nicola मुझे आशा है कि मेरी परीक्षण, उपयोगी थे के बाद से अब यह आदेश शब्दचित्र बनाने के लिए अगले चरण है ... लेकिन आप समारोह उपयोग नहीं कर सकते वेब पर कहीं छोटे डाटासेट पुनः प्राप्त करने के पूरी तरह से पुनरुत्पादित? –

संबंधित मुद्दे