2016-10-24 19 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