2016-07-31 3 views
0

Когда я пытаюсь document() или build() мой R пакет с помощью пакета Devtools, я получаю сообщение об ошибке:Ошибка: плохая директива «S3method»: S3method («»)

Error: bad 'S3method' directive: S3method("") 

я работал на функции tabyl(), когда эта ошибка произошла, и теперь я не могу избавиться от нее, даже с большой настройкой моих заголовков функций. Теперь функция должна работать; для справки, заголовки:

#' @export 
tabyl <- function(...) UseMethod("tabyl") 

#' @inheritParams tabyl 
#' @describeIn tabyl Create a frequency table from a vector, returned as a data.frame, showing percentages and with or without including \code{NA} values. A fully-featured alternative to \code{table()}. 
#' @export 
tabyl.default <- function(vec, sort = FALSE, show_na = TRUE, ...) { 
    ... 
} 

#' @inheritParams tabyl.default 
#' @param .data a data.frame. 
#' @param ... arguments passed to tabyl.default. 
#' @describeIn tabyl Create a frequency table from a variable in a data.frame, returned as a data.frame, showing percentages and with or without including \code{NA} values. A fully-featured alternative to \code{table()}. 
#' @export 
tabyl.data.frame <- function(.data, ...){ 
... 
} 

ответ

0

В какой-то момент вы использовали document() с проблемными значениями, которые размещены на линии:

S3method("") 

В верхней части файла NAMESPACE. Это приведет к ошибке document(), прежде чем эта строка может быть перезаписана в новом файле NAMESPACE.

Удалите эту строку из файла NAMESPACE вручную, затем вы можете продолжить работу с пакетом, работая document(), как обычно.

+0

Или просто удалите файл NAMESPACE и пусть roxygen2 его воссоздает. – Roland