R: Ошибка при вызове импортированной функции в пакете - PullRequest
1 голос
/ 18 марта 2019

Я пишу пакет, который использует оба ggplot2 и tidyquant, которые полностью импортированы:

#' @import ggplot2
#' @import tidyquant

Позже где-то в моей функции plot.object() я строю гистограмму с

x %>%
    ggplot() +
        geom_barchart(
            aes(
                x = date,
                open = open,
                high = high,
                low = low,
                close = close
            )
        )

После того, как пакет установлен, загружен и подключен, я вызываю plot.object(), что приводит к следующей ошибке:

Error in eval(`_inherit`, env, NULL) : object 'GeomLinerange' not found

и трассировке:

12. eval(`_inherit`, env, NULL) 
11. eval(`_inherit`, env, NULL) 
10. super() 
9.  fetch_ggproto(super(), name) 
8.  fetch_ggproto(x, name) 
7.  `$.ggproto`(geom, "aesthetics") 
6.  geom$aesthetics 
5.  as.vector(y) 
4.  intersect(names(params), geom$aesthetics()) 
3.  ggplot2::layer(stat = StatLinerangeBC, geom = GeomLinerangeBC, 
    data = data, mapping = mapping, position = position, show.legend = show.legend, 
    inherit.aes = inherit.aes, params = list(na.rm = na.rm, fill_up = fill_up, 
        fill_down = fill_down, color_up = color_up, color_down = color_down,  ... 
2.  geom_barchart(aes(x = date, open = open, high = high, low = low, 
    close = close)) at moex_candles-plot.R#61
1.  plot.object()

Однако , если ggplo2 подключен до вызова plot.object, то ошибки нет.

Я подозреваю, что это может быть ошибкой тидикванта, потому что все функции ggplot2 работают должным образом, и ошибкапроисходит, только если вызывается tidyquant::geom_barchart().

Или в импортирующей магии есть что-то, чего мне не хватает?

...