2014-10-25 24 views
9

Bir R paketi yazıyorum ve forecast jenerik fonksiyonunu tahmini paketinden almak istiyorum. Paketim, forecast.myobj yöntemini sağlar. Ben paket DESCRIPTION dosyada Imports: yılında forecast var ve benim işlev tanımı aşağıdaki gibidir: Ne paketi oluşturmak için DevTools'un paketini (sürüm 1.5) kullanıyorumBir R işlevi, başka bir paketten nasıl kullanıcı için kullanılabilir olacak şekilde içe aktarılır?

##' @export 
forecast.myobj <- function(x) { 

} 

. oluşturulan NAMESPACE Temiz bir Ar oturumunda paketimi yüklediğinizde, fonksiyon forecast kullanılamaz Ancak şu

S3method(forecast, myobj) 
importFrom(forecast, forecast) 

sahiptir. İlginç bir şekilde, forecast ve forecast.myobj yardım sayfalarını görebiliyorum ve bu işlevlere forecast::forecast ve mypackage:::forecast.myobj aracılığıyla erişebiliyorum. forecast paketine bağlı olmadan forecast kullanıcı tarafından kullanılabilir mi? Dokümanları kontrol ettim ve burada bir sürü benzer soruları gözden geçirdim, ancak kesin olumsuz veya olumlu cevabı bulamadım.

+0

Not yapmak. –

cevap

10

o kullanıcılar tarafından kullanılabilir olmasını için ithal fonksiyon NAMESPACE dosyasında ihraç edilmelidir: Bir Örneğin

S3method(forecat, myobj) 
importFrom(forecast, forecast) 
export(forecast) 

bkz dplyr paketi en magrittr paketinden %>% ithal ve böylece onu ihraç NAMESPACE file Bu kullanıcı tarafından erişilebilir.

5

@G adresinde açıklanan NAMESPACE'un nasıl elde edileceği hakkında bilgi eklemek için kendi yanıtımı veriyorum. Grothendieck'in cevabı devololleri paketini kullanarak. (dplyr's code model alınarak) Aşağıdaki satırlar bu yüzden de yardımcı olabileceğini belgelere bakarak kandırmasına devtools` `NAMESPACE` dosyası oluşturmak için` roxygen2` kullandığı `o

##' @importFrom forecast forecast 
##' @name forecast 
##' @rdname forecast.myobj 
##' @export 
NULL 
+0

Ölü bağlantı, https://github.com/hadley/dplyr/blob/7bb56529ca3833f9739f4021ae2778610597bd34/R/tibble-reexport.r#L3 – r2evans

+0

Şunun gibi bir şey önerebilirsiniz, teşekkürler! – mpiktas