Ошибка: ScalesList был создан с использованием несовместимой версии ggproto.

Я делаю презентацию в slidfy, используя фреймворк deckjs. Все было ок, но вдруг этот кусок кода:

ggplot(cars, aes(x = speed, y = dist)) +  geom_point(color = 'red') + stat_smooth(method = "lm", formula = y ~ x, size = 0.5, se = F)

перестал работать и вместо этого показывает эту ошибку:

## Error: ScalesList was built with an incompatible version of ggproto.
## Please reinstall the package that provides this extension.

Код отлично работает при выполнении из исходного кода или консоли... Но он больше не работает из уценки R. Не работает функция stat_smooth(). Остальное визуализируется нормально, если выполняется без сглаживания.

Здесь и здесь сообщается об аналогичной ошибке, и предлагаемое решение чтобы переустановить ggplot и пакеты с github, но я не уверен, какие пакеты мне нужно установить, и, кроме того, код не работает только из Rmarkdown, а не при выполнении из консоли или источника.

Спасибо


person Pablo    schedule 24.12.2016    source источник
comment
Чисто запустите R (при необходимости в ванильном режиме). Запустите существующий код (который генерирует ошибки). запустить sessionInfo(). См. список пакетов. Переустановите/обновите эти пакеты. Попробуйте еще раз. ЗАМЕТЬТЕ, что вы должны сначала установить ggplot2 перед любыми пакетами, которые включают ggplot2 geoms/scales/etc.   -  person hrbrmstr    schedule 24.12.2016
comment
Я так и сделал... Проблема в том, что код работает! Но из консоли или источника. Не из уценки R. Это проблема.   -  person Pablo    schedule 24.12.2016
comment
как вы вяжете рмд? вязать cmd в RStudio или через вызов функции?   -  person hrbrmstr    schedule 24.12.2016
comment
Я вяжу в RStudio. Что меня озадачивает, так это то, что он работал правильно до сегодняшнего дня. В последнее время я установил несколько пакетов, но ни один из них (или, по крайней мере, насколько мне известно) не связан с ggplot.   -  person Pablo    schedule 24.12.2016
comment
Чем отличается порядок загрузки пакетов между вязанием и документом сценария?   -  person Roman Luštrik    schedule 24.12.2016
comment
Роман, как мне это понять? Спасибо за вашу помощь.   -  person Pablo    schedule 24.12.2016
comment
вы можете knitr::purl() свой документ и запустить исходный код R, который он создает, чтобы увидеть, где он задыхается.   -  person baptiste    schedule 24.12.2016
comment
Распечатайте результаты .libPaths() в каждой среде. Я предполагаю, что они будут разными, и сообщение об ошибке говорит вам, что в одном из каталогов библиотеки есть устаревшая версия.   -  person IRTFM    schedule 25.12.2016
comment
@ 42- В обоих случаях я получаю одинаковый вывод: /Library/Frameworks/R.framework/Versions/3.3/Resources/library   -  person Pablo    schedule 25.12.2016


Ответы (4)


У меня была аналогичная проблема в RMarkdown после обновления ggplot2. Я загружал рабочую область с графиками, созданными с помощью более старой версии ggplot2. Решение состояло в том, чтобы воссоздать это рабочее пространство с обновленной версией, и теперь RMarkdown работает.

person user7599321    schedule 21.02.2017
comment
Такая ситуация была у меня. Мне пришлось повторно запустить все мои существующие графики, затем повторно сохранить мою среду, а затем компиляция Markdown снова заработала. - person dmt; 01.03.2017

Это очень странно; теперь все пришло в норму.

Я сделал то, что предложил @baptiste, и исходный код R просто работал нормально. После этого снова провязал Rmarkdown и ошибка исчезла!

person Pablo    schedule 25.12.2016

в феврале 2017 года та же ошибка была устранена путем переустановки всех пакетов (RStudio - Инструменты - Проверить наличие обновлений пакетов)

person userJT    schedule 07.02.2017

У меня была похожая проблема с geom_tufteboxplot . Сначала я обновил пакет ggplot2 и ggthemes, затем отсоединил все пакеты, связанные с ggplot, и перезагрузил их. Это сработало для меня.

person raja    schedule 09.06.2017