2016-11-01 30 views
5

ad alanında dışa aktarılmadı Dizüstü bilgisayarımdaki Hadton'un Devtools, Roxygen2 vb. Hakkındaki kapsamlı belgelerini takip ederek düzenli olarak R paketimi GitHub'a güncelledim ve düzenli olarak güncelledim. Dün bunun yerine ana bilgisayarımı kullanmaya karar verdim ve şimdi GitHub'a kadar değişiklik yapmayı düşünüyorum. Ben document() girdikten sonra aşağıdaki hata var:Veriler R

Error: 'Adult_Females' is not an exported object from 'namespace:gbm.auto' 

Adult_Females/Veri ilk veri dosyasının adıdır. this ('Veriler' seçeneğine ilerleyin)

'a göre "verilerde yaşayan/normal ad alanı mekanizmasını kullanmayan ve dışa aktarılması gerekmeyen dosyalar."

Peki ... bir adam ne yapmalı? Adult_Females'i hiçbir şekilde düzenlemedim ve düzenlediğim R betiği buna değinmiyor. Şüphelerim, bu hatanın tüm veri dosyaları için açılacağı ve bunun sadece birincisi olduğu ortaya çıktı, ama bu noktada bir varsayım.

Şimdiden teşekkürler. Bir göz atmak istiyorsanız install_github("SimonDedman/gbm.auto").

+1

Birkaç yerde "gbm.auto :: Adult_Females" kullandığınız anlaşılıyor. 'Gbm.auto :: 'bırakmayı denedin mi? – nrussell

+0

Merhaba, teşekkürler. Gbm.cons.R içinde @examples içinde Evet "Ben Adult_Females <- gbm.auto::Adult_Females" var; Veriler açıkça dışa aktarılmamalı/adlandırılmaması gerektiğinden "::" belirtmezsem, kullanıcılar için veri yükü olacak mı? Bu, her şey github/roxygen/namespace/description'in nasıl bir araya geldiğine dair anlayışımın düştüğü bir alan! –

+0

Olumlu değilim, ancak sadece 'Adult_Females' kullanmanız iyi çalışıyor. '::' özellikle dışa aktarılan nesnelerle kullanılmak üzere tasarlanmıştır, bu yüzden 'gbm.auto :: 'hataya neden olan bir hata olduğuna inanıyorum. – nrussell

cevap

4

Veri kümesi içeren bir R paketi yazarken benzer bir sorunla karşılaştım. Veri kümesini farklı bir adla kaydetmiş olmalısınız. Örneğin, yazabilirsiniz:

devtools:::use_data(YourDataSetName, pkg = "Path_to_Pkg/data", internal=FALSE) 

ancak data.R dosyasında

, sen YourDataSetName dışındaki en sonunda bir veri kümesi adını belirtilen (varsayalım burada Hadley'in talimatları takip: http://r-pkgs.had.co.nz/data.html). "Veri" klasörüne kaydettiğiniz veri nesnesinin, data.R dosyanızda belirttiğinizyle aynı olduğundan emin olun.

1

veri nesneleri için, isimler dört (4) yerlerde maç, bu yüzden hepsini kontrol etmeli: veri/foo.rda dosyası verileri/foo.rda nesnenin

  • ismi

    1. adını dört ürün eşleşmelidir/foo.R

    dosya/foo.R R sonunda

  • dize dosya R
  • dosya adı - ı Bu dava 'foo'. Foo.rda ve foo.R dosyalarının adını değiştirirseniz, bar.rda ve bar.R'ye söyleyin, .rda dosyasındaki nesneyi 'foo' dan 'bar' olarak yeniden adlandırmayı unutmak kolaydır. Bu dosyayı yüklemek nesneyi yeniden adlandırın ve dosyayı yeni bir adla kaydetmek için genellikle en kolay: Bunu yapmazsanız

    load('data/foo.rda') 
    bar <- foo 
    save(bar, file='data/bar.rda') 
    

    , sen ad yüklenmedikleri nesne hakkında bir faydasız hata alıyorum. Veri nesnelerini @ dışa aktarmanız GEREKMİYORSA, isimlerin her yerde eşleşmesini sağlayın.

  • +0

    Teşekkürler. Re: 3 & 4:/R klasöründeki .R dosyaları olarak tek veri dosyalarımı değil,/data klasörümdeki 6 veri kümesinin ayrıntıları ile birlikte bir dosya, data.R. Bunu, Hadley'nin sitesinde bir yerdeki talimatlara dayanarak yapmış olmalıyım, yanlış mı? Bu veri kümesinin adlandırılması, data.R –

    +0

    'da doğrudur. Sanırım bu da iyi ... Bu durumda 3'ün gerekli olmadığını sanıyorum, ama 1 & 2'nin olduğunu biliyorum ve 4'ünün yalnızca dokümanlar için gerekli olduğunu düşünüyorum. – 0mn1