Можно ли управлять R сессиями? - PullRequest
0 голосов
/ 27 июня 2019

Можно ли управлять сеансами R, как в:

  • Подключить консоль R к существующему процессу сеанса R?
  • Могут ли два сеанса R передавать данные друг другу?

Кто-то может пожелать этого в следующем вероятном сценарии:

  1. Вы успешно работаете над своим проектом R и сгенерировали данные, для расчета которых потребовалось 3 часа.
  2. Вы решаете сохранить свое рабочее пространство в случае технической проблемы.
  3. После сохранения ваш Rstudio решает зависнуть на вечность, оставив сеанс R без изменений.

В этом сценарии вы хотели бы

  1. Подключитесь к сеансу R с терминалом, чтобы в любом случае получить ваши данные.
  2. Настройте еще один новый сеанс R, который непрерывно синхронизируется с существующим сеансом R, в качестве сеанса резервного копирования.

Возможно ли это?

1 Ответ

3 голосов
/ 27 июня 2019

Подключить консоль R к существующему процессу сеанса R?

Невозможно.

Могут ли два сеанса R передавать данные друг другу?

Да, есть несколько способов сделать это.Общее ключевое слово для этого - «межпроцессное взаимодействие».Например, вы можете использовать файлы, именованные каналы или сокеты.Для сериализации данных вы можете использовать встроенные функции (saveRDS, readRDS) или пакеты (например, feather ).

Но для вашего конкретного случая использования есть гораздо более простой способрешение:

Никогда не полагайтесь на RStudio для сохранения R-сессии.Вместо этого сделайте это явно, вызвав saveRDS (или, чтобы сохранить все рабочее пространство, которое я обычно не рекомендую, save.image).Фактически, общая рекомендация состоит в том, чтобы отключить параметры RStudio для сохранения и восстановления сеанса!

Убедитесь, что ваши настройки выглядят так:

RStudio preferences

...