
Восстановление данных в RStudio почти всегда сводится к одному: найти сохранённый файл проекта или скрипт и открыть рабочую директорию заново. Сама рабочая среда — переменные, датафреймы, результаты вычислений — хранится отдельно от кода, и именно с ней чаще всего возникают проблемы. Если вы работали в скрипте и сохраняли файл, потеря минимальна. Если результаты жили только в памяти и не были записаны — тут сложнее, и не всегда всё вернётся.
RStudio разделяет две вещи: код (скрипты, файлы .R, .Rmd) и рабочую область (объекты, которые вы создали во время сессии — векторы, таблицы, модели). Код обычно хранится на диске, если вы его сохранили хотя бы раз. Рабочая область — временная штука, она живёт в памяти до тех пор, пока вы не остановите сессию или не случится сбой.
Рядом по теме: Что собой представляют биометрические данные.
Отсюда и главная загвоздка. Люди путают эти два слоя: думают, что если скрипт цел, то и все переменные вернутся сами. Не вернутся. Скрипт — это инструкция, а не результат. Чтобы получить обратно таблицу с расчётами, скрипт нужно запустить повторно.
Если вы работали через файл проекта (с расширением .Rproj), восстановление начинается с него.
Если файла проекта нет, а есть просто папка со скриптами — откройте её через «File» → «Open File» и выберите нужный .R файл напрямую. Это не восстановит переменные, но вернёт код, а дальше вы просто запускаете скрипт заново.
Рабочая область может сохраняться в файл с именем .RData — это своего рода снимок памяти на момент выхода. Если RStudio был настроен на автоматическое сохранение образа при выходе, такой файл появится в рабочей директории.
Чтобы восстановить из него данные, откройте проект в той же папке — RStudio подхватит .RData автоматически, если настройка включена. Либо загрузите файл вручную командой в консоли, указав путь к нему. Название команды и синтаксис лучше проверить в справке RStudio, потому что версии интерфейса отличаются, а ошибиться в пути легко.
Здесь есть подвох: если сессия завершилась аварийно (зависание, принудительное закрытие), файл .RData может не успеть записаться. В этом случае восстанавливать через него нечего — остаётся только повторный запуск скрипта.
Автоматическое сохранение образа рабочей области — удобная штука, но не панацея. Оно спасает, если вы закрыли RStudio штатно. При сбое питания, зависании программы или ошибке в коде, которая обрушила сессию, автосохранение может не сработать вовсе.
Поэтому куда надёжнее полагаться не на восстановление памяти, а на привычку сохранять промежуточные результаты в файлы — таблицы в .csv или .rds, графики в отдельные файлы, объекты через команду сохранения на диск. Тогда даже после полного краха сессии данные не пропадут: их просто читаешь обратно из файла.
Советую держать код и результаты раздельно от временной памяти как правило, а не как разовую меру после первого сбоя.
| Что пропало | Где искать | Шанс восстановить |
|---|---|---|
| Скрипт с кодом | Файл .R в папке проекта | Высокий, если файл сохранялся хотя бы раз |
| Переменные и таблицы в памяти | Файл .RData в рабочей директории | Средний, зависит от настроек автосохранения |
| Результаты после аварийного закрытия | Автосохранённые версии, если включены | Низкий, часто данных нет вовсе |
| Промежуточные расчёты, сохранённые в файл | Файлы .csv, .rds на диске | Практически гарантирован |
Первая ошибка — надеяться на память вместо файла. Люди прогоняют тяжёлые вычисления, смотрят на результат в консоли и закрывают RStudio без сохранения объекта на диск. Через день выясняется, что результат исчез, а пересчёт занимает часы.
Вторая ошибка — путают проект и скрипт. Открывают файл .R напрямую, минуя .Rproj, и не понимают, почему рабочая директория «не та» и связанные файлы не подхватываются. Правильный путь — сначала открыть именно проект, а скрипты внутри него откроются с учётом путей.
Третья — рассчитывают на автосохранение при аварийном завершении. Это не резервная копия в полном смысле, а скорее бонус, который срабатывает не всегда. Относиться к нему как к страховке не стоит.
Если файл никогда не записывался на диск, восстановить его нечем — RStudio хранит только то, что было сохранено. Единственный шанс — проверить историю команд в консоли (вкладка History), там может остаться часть кода, который вводился построчно.
Скорее всего, отключена настройка сохранения образа рабочей области при выходе. Проверьте в «Tools» → «Global Options» → раздел «General», там есть пункт про сохранение .RData при завершении сессии.
Для небольших проектов — можно, вреда не будет. Но для тяжёлых вычислений с большими датафреймами такое сохранение занимает время при каждом закрытии и раздувает файлы на диске. В этих случаях лучше сохранять только нужные объекты вручную.
Проверьте, не открылась ли старая версия .RData из другой сессии — файл может залежаться в папке с прошлого запуска. Если это так, удалите его и запустите скрипт заново, чтобы пересчитать актуальные результаты.
Если данных без сохранения не осталось — единственный надёжный путь — перегнать расчёты заново по скрипту. Это неприятно, но именно поэтому привычка сохранять промежуточные результаты в файлы экономит больше времени, чем любое восстановление после сбоя.