[rant] Мне также не хватает репутации, чтобы поставить свой ответ туда, куда он должен. И там нет кнопки, указывающей на это. Просто большой экран, полный нигде не желаемого клика. Отрицательная открываемость отстой. Это засасывает затмение, и здесь тоже отстой. [/ Напыщенная]
Я считаю RJ разочаровывающим под Ubuntu. В моей системе, с каждым крупным обновлением Ubuntu до новой версии R, мне приходится проходить эту процедуру снова и снова.
Однажды я попытался использовать символ тильды (~) в имени пути в некотором поле конфигурации Eclipse. Это молча провалилось.
Моя текущая конфигурация следующая. В моем файле ~ / .Renviron:
R_LIBS_USER=~/etc/R/amd64/2.11
Когда rJava работает, здесь есть каталог rJava. Просто чтобы я не сходил с ума, в ~ / etc / R / README я добавил, что моей текущей конфигурацией R управляет ~ / .Renviron
Каким-то образом в какой-то момент у меня возникли проблемы с разрешениями, где
R CMD javareconf
терпел неудачу. Однажды в отчаянии я по глупости запустил это под sudo
, чтобы обойти эту проблему, и в результате у меня возникли проблемы с разрешениями для сгенерированных файлов. Глупый! Правильным решением было сделать все файлы в /etc/R
доступными для чтения. Может быть, javareconf важен, только если вы возитесь с Java по умолчанию. Ранее я управлял JRE Sun. С 10.10 у меня работает icedtea6, и, похоже, работает нормально. Однажды это было просто, чтобы заставить мою конфигурацию работать снова.
Как только у меня будет правильная привязка Java, из командной строки R:
install.packages("rJava")
В прошлом у меня были проблемы с правами доступа к файлам. Я думаю, что это было исправлено, сделав все файлы в /etc/R
читабельными.
Ниже приводится полезная диагностика для проверки работоспособности из любой консоли R:
> system.file("jri",package="rJava")
[1] "/home/allan/etc/R/amd64/2.11/rJava/jri"
Если в Eclipse это не выглядит так, есть также некоторая доступная отладка при запуске, хотя до того, как я заметил это в документации по StatET, потребовалось вечность.
Я создал конфигурацию запуска консоли R для R 2.11 debug
. На вкладке JRE добавьте -Dde.walware.rj.verbose=true
. На вкладке Общие нажмите Allocate additional Error Log Consoles
.
Основные параметры конфигурации следующие. Главная вкладка, Launch Type: RJ
. На вкладке R_Config вам нужно выбрать Конфигурированную установку R или создать / редактировать ее, если у вас ее нет. У меня есть Name=R, Location=/usr/lib64/R
Во вкладке Environment у меня есть R_LIBS_USER=/home/USER/etc/R/amd64/2.11
в соответствии с тем, как я настроил все выше. Не используйте тильду (~) здесь!
Если вы закончите с этой проблемой столько же, сколько я, вы убьете много мертвых консолей. На вкладке Главная я добавил опцию программы --no-save
. Я не думаю, что это что-то делает, так как я не могу завершить свою консоль, нажав CTRL-D. На вкладке R_Console я добавил следующий фрагмент кода R:
q <- function(save = "no", status = 0, runLast = TRUE){
.Internal(quit(save, status, runLast))
#<environment: namespace:base>
}
Это избавляет от назойливой подсказки «сохранить рабочее пространство», когда убивает консоль R красным квадратом (это символ?) Мое текущее рабочее пространство также включает проект C, поэтому моя консоль R постоянно появляется под пустым C- Сборка консоли. Раздражает как весь ад! Это еще не решено, но я обнаружил, что из окон кода StatET связывание клавиш CTRL-R C тянет консоль R вверх.
С моей R 2.11 debug
конфигурацией я получаю дополнительную консоль под названием /usr/lib/jvm/java-6-openjdk/bin/java
. Вам нужно спелить консоль, чтобы найти ее. Ниже приведен соответствующий фрагмент успешной инициализации:
CONFIG: JR library path:
/home/allan/etc/R/amd64/2.11
/usr/local/lib64/R/site-library
/usr/lib64/R/library
10-Dec-2010 7:56:47 AM org.rosuda.rj.JRClassLoader addClassPath
FINE: Added '/home/allan/etc/R/amd64/2.11/rJava/java' to classpath of URL loader
Намного больше спу, потом наконец:
10-Dec-2010 7:56:48 AM de.walware.rj.server.jriImpl.RosudaJRIServer start
INFO: R engine started successfully. New Client-State: 'Connected'.
Хорошо выглядит, верно? Но о чудо в консоли R:
[INFO] The R package 'rj' is not available, R-StatET tools cannot be initialized.
Не обращайте внимания на лживого ублюдка! Оказывается, мой RJ работает просто отлично. Не знаю, почему это сообщение об ошибке сохраняется.
Каждый раз, когда вокруг этой проблемы возникает проблема, в моем кроссовке появляется какой-то новый удивительный кусок гравия.
Я не знаю, охватил ли я все, но пока написал достаточно. Возможно, если будут комментарии, я вернусь и заполню пробелы.
Примечание: нашел плагин Eclipse для переключения консоли с помощью клавиатуры здесь: Eclipse: Сочетание клавиш для переключения между консолями?