2016-10-24 44 views
2

後,函數仍未導出到NAMESPACE中我正在構建一個包並收到一個錯誤,指出函數不是包的導出對象。 在R腳本中,我使用了@export標籤來導出函數,但是當我使用document()或roxygen()進行roxigenise時,函數不會導出到NAMESPACE中(該函數的Rmd文件是通過創建的)。roxygen2:即使在使用@export

+0

是否'your_package :::加載你的包後your_function'工作? – jakub

+0

是的,它的確如此。不過,據我所知,並不建議這樣做@jakub – Rospa

+0

確實如此。只是檢查。你是否定義了一些S3類的方法?此外,在這裏發佈roxygen塊可能很有用。 – jakub

回答

3

我有類似的問題。原來,我的函數中我曾評論指出,隨着(在我的假例如,在「太空堡壘卡拉狄加」的前面)的撇號開始所以它看起來是這樣的一行:

#' @export 
getMyFavoriteSciFiShows <- function() { 
    myFavoriteSciFiShows <- 
    c('Star Trek Next Generation', 
     #'Battlestar Galactica', 
     'Babylon 5') 
    return(myFavoriteSciFiShows) 
} 

這真的搞砸了roxygen2 v 6.0.1因爲它沒有任何的信號錯誤和這是它把我的NAMSEPACE文件:

export("Galactica',") 
export(Battlestar) 
+1

謝謝,這也幫助了我。我的印象是,roxygen試圖解釋#的任何外觀,這往往會擾亂@export和其他東西。 – Paul