Я застрял с определением метода S3 для autoplot
.
У меня есть следующее (полный код здесь):
#' Autoplot for bigobenchmark object
#'
#' @importFrom ggplot2 autoplot
#'
#' @param object
#'
#' @return A ggplot2 plot
#' @export
#'
#' @examples
#' # Create plot for benchmarks
#' library(ggplot2)
#' bench <- bigobenchmark(1:n, for(i in 1:n) for(i in 1:n) 1:n, args=seq(from=1, to=100, length.out = 50))
#' autoplot(bench)
autoplot.bigobenchmark <- function(object) {
plt <- ggplot2::ggplot(data = object$benchmarks, ggplot2::aes(x=arg, y=mean, colour=expr))
plt <- plt + ggplot2::geom_line()
plt <- plt + ggplot2::geom_pointrange(aes(ymin=min, ymax=max))
plt
}
Как я понимаю теперь, я должен быть в состоянии запустить, но это не удается:
> autoplot(test)
Error in autoplot(test) : could not find function "autoplot"
Почему он не нашел функцию? У меня правильный @importFrom ggplot2 autoplot
, а Roxygen выдает правильный NAMESPACE
.
Есть ggplot2
в Imports
в DESCRIPTION
.
Я понятия не имею, почему он не работает и почему мне нужно library(ggplot2)
его использовать.
export
функциюautoplot
, чтобы сделать ее доступной для пользователя. - person Roland   schedule 18.04.2018