Я создаю пакет и столкнулся с проблемой при создании виньетки. Я получаю сообщение об ошибке при попытке связать виньетка, но при запуске функции из консоли ошибок нет.
Пример ввода данных
a <- c(1,1,2,2,3,3,4,4,5,5)
b <- c("T", "T", "N","N", "N","N", "T", "T", "N", "N")
c <- c("car","bike","car","bike","car","bike","car","bike","car","bike")
d <- c(10,12,15,19,25,29,38,47,66,90)
data <- data.frame(a,b,c,d)
colnames(data) <- c("xaxis", "rug", "type", "val")
Внутри файла пакета .r это это функция, которую я хотел бы вызвать:
#' Test
#'
#' @param data test data
#'
#' @return
#' @importFrom ggplot2 ggplot geom_point geom_rug
#' @importFrom ggnewscale new_scale_color
#' @export
#'
test <- function(data){
ggplot(data, aes(x = xaxis, y = val, color = type, group = type)) + geom_point() +
new_scale_color() + geom_rug(aes(x = xaxis, color =rug), sides = "b")
}
Я проверил и установил пакет и попытался вызвать эту тестовую функцию в документе RMarkdown (виньетка). Это ошибка, которую я получаю:
Ошибка при получении (as.character (FUN), mode = "function", envir = envir): объект 'guide_legend' режима 'function' не найден Вызовы: ... bump_aes_scales -> lapply -> FUN -> match.fun -> get Выполнение остановлено
Однако, когда я вызываю эту функцию в консоли, я получаю ожидаемый график без сообщений об ошибках:
Expected_output
Более того, когда я удаляю new_scale_color () из тестовой функции, я не получаю никаких ошибок, и виньетка отлично сплетается. У кого-нибудь есть идея, в чем проблема и как ее решить?