2015-03-19 18 views
9

Ben bir paket yapmaya çalışıyorum ama document() çalıştırdığınızda o benim fonksiyonlarda ggplot2,XML, R6 paketlerini kullanmaya çalışıyorum NAMESPACE not generated by roxygen2. Skipped. yazdırır ile Karışıklık. Ben şu şekilde onları ithal ediyorum:NAMESPACE roxygen2 tarafından oluşturulmadı. Atlandı. - Hadley kitapta

#' @rdname visualization 
#' @param hist_data A table of weather variables with PWS created by hist_data function 
#' @param variable A character string of variable name 
#' @examples 
#' table <- getWeather(city = "San Francisco", state="CA") 
#' please <- getConditionsTable(table, "2015-03-09") 
#' tab <- hist_data(table, please) 
#' head(tab) 
#' plot_variable_across_all_pws(hist_data=tab, variable="tempi") 
#' @import ggplo2 
#' @import XML 
#' @import R6 

Ben bu hataya neden ve ayrıca

için ben Hadley R paketleri kitapta bakıyordum haricinde benim Namespace hiçbir şey yoktur ne olabileceğini merak ediyorum http://r-pkgs.had.co.nz/namespace.html ve çizgi ile karıştırılmamalıdır.:.

"sen sadece namespace, sadece adamı/* Rd, ya da herhangi ad ile ilgili etiketler kullanmıyorsanız hem roxygen2 'kazandı üretmek için roxygen2 kullanmayı tercih edebilirsiniz unutmayın NAMESPACE seçeneğine dokunun. atlanan etiketler, roxygen2 man/dokunmuyor. "

bu yanlış yapıyorum var mı? veya eksik?

+0

İthalatı bunun yerine DESCRIPTION dosyasına koymayı denediniz mi? roxygen2 bu dosyaya hiç bir zaman dokunmuyor –

cevap

6
  1. Yedekleme NAMESPACE dosyası, ileride kullanılmak
  2. için çok ihtiyaç olursa, NAMESPACE dosyasını
  3. Run devtools::document() Sil

* ** R kaynak dosyasının roxygen2 doc bölümünde @export etiketinin bulunduğundan emin olun.

10

devtools, kendiliğinden oluşturulmadığı DESCRIPTION ve NAMESPACE dosyalarının üzerine yazmayı engellemeye çalışır (r kodunuzda katıştırılmış roxygen açıklamaları kullanmak yerine, bunları kendiniz için titizlikle yazmışsanız, endişelenmekten kaçınmak için). Her zaman mümkün değil ama dener.

Ana mekanizma, anladığım kadarıyla, dosyayı oluşturduğunda dosyanın üst kısmına bir yorum göndermek ve daha sonra bu yorumu aramak (örneğin, kenarda zor bitler var) Eğer AÇIKLAMA dosyasında Harmanla sırasını oluşturmak için @include s kullanın, ancak ben burada senin sorunun olduğunu düşünüyorum yoksa.)

böyle bir açıklama örneği

# Generated by roxygen2 (4.1.0.9001): do not edit by hand 

not generated by ... iletişidir Bu sizi uyaran ve devtools bildirerek bir hale getirmek için roxygen2 kullanmaya gitmiyor NAMESPACE dosyası sizin için. Eğer paket başlamak yerine devtools::create() için RStudio kullanılan çünkü muhtemelen sen yorum yapmadan söz birine sahip? Sadece NAMESPACE dosyasını silerseniz

, ben devtools::document() sonra sizin için çalışacak düşünüyorum. Dosya NAMESPACE ise exportPattern("^[[:alpha:]]+")

: BTW

Yukarıdaki örnek kodda bir yazım hatası Ayrıca

1

biri basitçe bırakmak bir satır NAMESPACE her şeyi silip ekleyebilir (eğer #' @import ggplo2 yerine #' @import ggplot2 arasında var) el ile değiştirildi, devtools::document() bu dosyanın üzerine yazmakta başarısız oluyor, bu yüzden daha önce olduğu gibi bırakır. NAMESPACE dosyasındaki metni silip bu satırı eklediğinizde, devtools::document() dosyanın yeni olduğunu ve üzerine yazdığını düşünür.O roxygen2 paket kaynak dizininde yeni NAMESPACE dosyası oluşturur, böylece

+0

Size verdiğiniz çözüm hakkında daha fazla açıklama ekleyerek daha fazla sorunuzun ayrıntılarını verebilir misiniz? – abarisone

+0

NAMESPACE dosyası el ile değiştirilirse, devtools :: document() bu dosyanın üzerine yazılmaz, bu nedenle daha önce olduğu gibi bırakır. NAMESPACE dosyasından metni sildiğinizde ve bu satırı eklediğinizde, devtools :: document() dosyanın yeni olduğunu ve üzerine yazdığını düşünür. – irudnyts

0

Yukarıdaki örneklerin hiçbiri benim için işe yaramadı. NAMESPACE dosyasını sildiyse roxygen, NAMESPACE numaralı telefondan şikayetçi oldu. Bir NAMESPACE dosyasını sildiysem ve yeniden oluşturduğumda ("touch, ör. RStudio: Building package with roxygen2. Not producing NAMESPACE file"), roxy, dosyanın roxox ile oluşturulmadığından şikayet etti. Bu çözüm, NAMESPACE dosyasını, 'un roksijen ile oluşturulmuş olduğu başka bir projeden kopyalamaktı.

İlgili konular