Полное раскрытие: эта проблема дублируется в ggplot2 группе Google
Я разрабатываю пакет, который интенсивно использует ggplot2
. Я создал свой собственный geom - geom_rug_alt
- как способ размещения полос коврика в верхней / правой части графика вместо местоположений по умолчанию.
Моя проблема в том, что, когда geom_rug_alt()
определен и вызван в одном скрипте , кажется, что все в порядке. (Пожалуйста, попробуйте сами убедиться в этом.) Но в моем пакете geom_rug_alt()
определен в одном файле (CommonFunctions.R
) и вызван в другом (функция Residuals()
большей функции foo.R
). Когда я что-то вызываю foo.R
, я получаю эту ошибку:
Error in geom_rug_alt(aes(x = NULL, y = within.group.residuals, color = factor(within.1.sd.of.the.mean.of.all.residuals)), :
object 'GeomRugAlt' not found
Теперь я сделал несколько вещей (предложенных Хэдли в этой теме ), чтобы убедиться, что geom_rug_alt()
должен работать правильно в пакете:
Я определяю GeomRugAlt
как proto
объект в файле, называемом CommonFunctions.R
в моем пакете. CommonFunctions.R
содержит строки 3-42 моего примера сценария .
В CommonFunctions.R
я обязательно включил строку build_accessor()
для geom_rug_alt
(строка 42 в моем примере сценария ) после определения GeomRugAlt
В файле пакета DESCRIPTION
у меня есть строка collate:
, где CommonFunctions.R
появляется первым
- В пакете
DESCRIPTION
файл у меня есть LazyLoad: false
строка
- В
CommonFunctions.R
я включил require(ggplot2)
вызов до определения GeomRugAlt
как proto
объекта.
- В
foo.R
я включил require(ggplot2)
вызов перед тем, как позвонить geom_rug_alt()
в Residuals()
.
Я не уверен, что еще мне не хватает. Учитывая, что мой пример сценария работает нормально, я подозреваю, что проблема не в том, что мой geom не работает, а в том, что я делаю что-то не так в рамках процесса разработки пакета.
Извините за дублирование проблемы, но я не могу найти полное решение проблемы: - (