Rstudio Roxygen2 @importFrom parsing function header

Я строю пакет с Rcpp с использованием Rstudio. Все работало нормально, пока я не добавил разметку для документации в свой функциональный файл. Я надеюсь, что пропускаю что-то очевидное.

Вот мой файл функций R:

#' @useDynLib tablr
#' @importFrom Rcpp sourceCpp
#'
#' fast.table
#'
#' C++ implementation of the R table function. Only supports numeric
#' vectors. Does not currently handle NAs.
#'
#' @param x1 Variable 1
#' @param x2 Variable 2
#' @return A table object equal in every way to an R table object with the same
#' inputs
#'
#' @export fast.table
fast.table <- function(x1, x2) {
  nms <- c(deparse(substitute(x1)), deparse(substitute(x2)))
  cpp_table(as.numeric(x1), as.numeric(x2), as.character(nms))
}

И после запуска devtools::document() Вот как выглядит файл пространства имен:

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

export(fast.table)
importFrom(Rcpp,"C++")
importFrom(Rcpp,Does)
importFrom(Rcpp,NAs.)
importFrom(Rcpp,Only)
importFrom(Rcpp,R)
importFrom(Rcpp,currently)
importFrom(Rcpp,fast.table)
importFrom(Rcpp,function.)
importFrom(Rcpp,handle)
importFrom(Rcpp,implementation)
importFrom(Rcpp,not)
importFrom(Rcpp,numeric)
importFrom(Rcpp,of)
importFrom(Rcpp,sourceCpp)
importFrom(Rcpp,supports)
importFrom(Rcpp,table)
importFrom(Rcpp,the)
importFrom(Rcpp,vectors.)
useDynLib(tablr)

Как видите, @importFrom тег разбирает текст заголовка функции и пытается импортировать каждое слово из Rcpp пакет.

Сообщение об ошибке после запуска devtools::document():

Error: object 'C++' is not exported by 'namespace:Rcpp'
Execution halted

Exited with status 1.

И информация о сессии:

> devtools::session_info()
Session info----------------------------------------------------------------------------------
 setting  value                       
 version  R version 3.1.1 (2014-07-10)
 system   x86_64, mingw32             
 ui       RStudio (0.98.1049)         
 language (EN)                        
 collate  English_United States.1252  
 tz       America/Chicago             

Packages--------------------------------------------------------------------------------------
 package    * version date       source        
 devtools     1.6.1   2014-10-07 CRAN (R 3.1.1)
 Rcpp         0.11.3  2014-09-29 CRAN (R 3.1.1)
 roxygen2     4.0.2   2014-09-02 CRAN (R 3.1.1)
 rstudioapi   0.1     2014-03-27 CRAN (R 3.1.1)
 stringr      0.6.2   2012-12-06 CRAN (R 3.1.0)
 tablr      * 0.1     <NA>       local         

1 ответ

Решено, поставив NULL после @importFrom тег:

#' @useDynLib tablr
#' @importFrom Rcpp sourceCpp
NULL

#' fast.table
#'
#' C++ implementation of the R table function. Only supports numeric
#' vectors. Does not currently handle NAs.
#'
#' @param x1 Variable 1
#' @param x2 Variable 2
#' @return A table object equal in every way to an R table object with the same
#' inputs
#'
#' @export fast.table
fast.table <- function(x1, x2) {
  nms <- c(deparse(substitute(x1)), deparse(substitute(x2)))
  cpp_table(as.numeric(x1), as.numeric(x2), as.character(nms))
}
Другие вопросы по тегам