Ошибка в RStudioGD(): ошибка теневого графического устройства: ошибка r 4 (ошибка выполнения кода R)

Я пытаюсь построить график с помощью Rstudio. Но когда я это делаю, plot(cars) это основная функция, я получаю Graphics Error in R.
Вот что я сделал:

> plot(cars)
Error in RStudioGD() : 
  Shadow graphics device error: r error 4 (R code execution error)

Пожалуйста, проведите меня.


person Avinash    schedule 22.10.2013    source источник
comment
Ссылка выше не работает.   -  person lawyeR    schedule 07.09.2015
comment
Эта проблема время от времени появляется с другой версией R. Кажется, что при использовании R 3.4.2 и Rstudio 1.1.442 (обе последние для Ubuntu: 16.04) проблема возникает снова. Приветствуется любое реальное решение, отличное от ожидания следующего обновления.   -  person Garini    schedule 16.03.2018


Ответы (8)


Сначала я переустановил RStudio до новейшей версии (1.1.442) и, следуя многим советам, также систему R-base* (до R 3.4.3), используя aptitude следующим образом:

sudo aptitude reinstall libpangocairo-1.0-0 libpango-1.0-0 sudo aptitude reinstall r-base r-base-core r-base-dev

Я использовал aptitude, потому что обычно он лучше, чем apt-get, для распутывания запутанных деревьев зависимостей. Впоследствии, когда ни один пакет не был загружен в среду, он работал нормально, но любая загрузка пакета создавала целый ряд ошибок, связанных с DLL, следующим образом.

ОКОНЧАТЕЛЬНОЕ РЕШЕНИЕ (НЕ ТРЕБУЕТСЯ ПЕРЕУСТАНОВКИ):

Ошибка появлялась снова, как только я загружал свою самодельную библиотеку. Настоящая проблема заключается в количестве открытых DLL. Если вы загрузите слишком много пакетов или файлов, вы достигнете предела, и у вас будут сообщения об ошибках между maximal number of DLLs reached... или failed to load cairo DLL (это предупреждение об ошибке) или даже lapack routines cannot be loaded. У меня были эти три ошибки случайным образом, когда я загружал свою домашнюю библиотеку с полными зависимостями.

Поэтому я снова начал искать решение. Последний — разрешить больше DLL, и для этого достаточно установить переменную среды R_MAX_NUM_DLLS на более высокое число (я установил ее на 500). Чтобы избежать хлопот с его настройкой каждый раз, когда вы читаете ?Startup документацию и, следовательно, записываете R_MAX_NUM_DLLS=500 в свой файл Renviron R-HOME/etc/Renviron.site. В моем случае (Ubuntu: 16.04 это была /usr/lib/R/etc/Renviron.site. Это плавно решило проблему.

person Garini    schedule 19.03.2018
comment
Также возможно, что вы используете homebrew и apt-get вместе. Когда я это сделал, и ошибка появилась снова, я подумал, что это связано с возможным столкновением между двумя версиями. Если это также ваш случай, выполнения brew unlink на cairo и pango может быть достаточно, чтобы устранить несоответствие версий (или вы полностью завариваете и удаляете apt-get). - person Garini; 07.02.2019

Слава богу, я только что вышел из Rstudio и перезапустил, и проблема исчезла.

person Michael Bellhouse    schedule 29.08.2020

В Ubuntu 13.10 у меня была аналогичная проблема с сервером rstudio, я пробовал все разные предложения, но они не работали. В итоге разобрался так:

  1. sudo service rstudio-server stop
  2. удалить все файлы, связанные с rstudio (sudo find / -name "rstudio" | xargs sudo rm -r)
  3. удалить Р: sudo apt-get remove r-base-core r-base r-base-dev
  4. удалить все файлы, связанные с R (sudo find / -name "R" | xargs sudo rm -r)
  5. переустановите R: sudo apt-get install r-base-core r-base r-base-dev
  6. тест R: убедитесь, что сюжет (автомобили) работает в R, выведите файл pdf.
  7. переустановите сервер R Studio: http://www.rstudio.com/ide/download/server< /а>
person James Mao    schedule 15.11.2013
comment
Это решение не было эффективным в моем случае, и это огромная потеря времени, если у вас установлено много пакетов. - person Garini; 19.03.2018

У меня была та же проблема, и я нашел ответ Джеймса Мао полезным, но я хотел избежать переустановки R, чтобы мне не пришлось также переустанавливать все мои пакеты R. Я смог решить проблему, переустановив RStudio без переустановки R, что имеет смысл, поскольку ошибка связана с RStudio, а не с самим R. Вот инструкции:

  1. sudo service rstudio-server stop
  2. удалить все файлы, связанные с rstudio (sudo find / -name "rstudio" | xargs sudo rm -r)
  3. переустановите сервер R Studio: http://www.rstudio.com/ide/download/server< /а>
person Michael    schedule 29.06.2016

Переустановите пакет ggplot2 (install.packages"ggplot2") и вызовите библиотеку. тогда должно работать

person bhavya    schedule 21.08.2019

У меня была следующая ошибка в контейнере CentOS:7 Docker при запуске rstudio-server verify-installation:

27 Feb 2017 14:17:09 [rsession-rstudio-server] ERROR r error 4 (R code execution error) [errormsg=Error in system(paste(which, shQuote(names[i])), intern = TRUE, ignore.stderr = TRUE) :
  error in running command
]; OCCURRED AT: rstudio::core::Error rstudio::r::exec::<unnamed>::evaluateExpressionsUnsafe(SEXPREC*, SEXPREC*, SEXPREC**, rstudio::r::sexp::Protect*, rstudio::r::exec::<unnamed>::EvalType) /root/rstudio/src/cpp/r/RExec.cpp:159; LOGGED FROM: rstudio::core::FilePath rstudio::session::module_context::findProgram(const std::string&) /root/rstudio/src/cpp/session/SessionModuleContext.cpp:879
27 Feb 2017 14:17:09 [rsession-rstudio-server] ERROR r error 4 (R code execution error) [errormsg=Error in system(paste(which, shQuote(names[i])), intern = TRUE, ignore.stderr = TRUE) :
  error in running command
]; OCCURRED AT: rstudio::core::Error rstudio::r::exec::<unnamed>::evaluateExpressionsUnsafe(SEXPREC*, SEXPREC*, SEXPREC**, rstudio::r::sexp::Protect*, rstudio::r::exec::<unnamed>::EvalType) /root/rstudio/src/cpp/r/RExec.cpp:159; LOGGED FROM: rstudio::core::FilePath rstudio::session::module_context::findProgram(const std::string&) /root/rstudio/src/cpp/session/SessionModuleContext.cpp:879

Я исправил это, установив команду which: yum install which

person Anthony O.    schedule 27.02.2017
comment
Мне кажется, что это несвязанная ошибка. Эта проблема и ее решение не кажутся связанными с DLL или RStudioGD()/графикой. - person Garini; 19.03.2018

У меня была такая же ошибка, и я на Ubuntu. Я не устанавливал R через sudo apt-get install r-base, а загрузил определенную версию , распаковал его и установил вручную с помощью:

./configure --with-readline=no --with-x=no --enable-R-shlib
make
sudo make install

У меня не было установленной cairograghics, которая, по-видимому, важна для создания 2D-графики с помощью R. Поэтому я установил ее с помощью:

sudo apt-get install libcairo2-dev

Или найдите версию для своей ОС здесь: https://www.cairographics.org/download/

Затем я снова удалил R, просто зайдя в загруженную папку R, которую я ранее скомпилировал с помощью упомянутых выше команд и набрал:

sudo make uninstall

А потом я снова настроил и установил ту же версию R. Это сделало это. Удаление и переустановка были важны, просто установка cairographics не сработала, вы должны установить ее перед использованием ./configure.

person NotePadJ    schedule 20.11.2018

У меня была та же проблема (хотя я использовал одну и ту же установку больше года без этой проблемы). Мне просто нужно было перезагрузить компьютер, и все снова было хорошо. :D

person user2465805    schedule 16.02.2019
comment
На самом деле не ответ. Вы должны были прокомментировать вместо ответа. - person vmf91; 16.02.2019