2015-06-11 6 views
4

Когда я запускаю сеанс R из некоторого каталога, R автоматически загружает соответствующее рабочее пространство (если оно существует). После того, как я закончу работу в этой рабочей области, я могу решить, хочу ли я изменить (сохранить) текущую рабочую область. Эта логика проста и понятна.Какова философия, стоящая за рабочими пространствами в R?

Что я не понимаю, это то, что произойдет, если я запустил R из какой-либо директории, а затем сменил рабочий каталог на setwd(). Насколько я понял, рабочая область, соответствующая новому рабочему каталогу, не будет «загружена». Я все еще вижу переменные и историю из предыдущего рабочего каталога. Зачем?

Во-вторых, когда я quit() R, я заменю образ рабочего пространства, соответствующий «новому» рабочему каталогу рабочей областью, соответствующей «старой» директории. Правильно ли я интерпретирую поведение? Какова логика этого поведения? Можно ли переключиться на другое рабочее пространство из сеанса R?

+0

Мы можем отключить автоматические параметры для проекта/sourcedocs восстановления/.rdata из меню 'Tools> Options'. Сохранение среды как [проекта] (https://support.rstudio.com/hc/en-us/articles/200526207-Using-Projects) отлично подходит, когда мы хотим вернуться к тому, где мы остановились. – zx8754

ответ

3

Рабочие пространства хранятся в файлах .RData и автоматически загружаются из текущего рабочего каталога при запуске R. Но сам рабочий каталог (и функция setwd()), которая его устанавливает) не имеет ничего общего с рабочим пространством. Вы можете загрузить любое рабочее пространство, явно указав любой .rdata файл:

load("c:/project/myfile.RData") 

или

setwd("c:/project/") 
load() 
+0

Да, потому что 'setwd()' запускается после любого 'load()'. –

+0

Если вы используете Rstudio или statet и создаете проект, вы не должны беспокоиться о рабочей области. – user1436187

+1

RStudio спрашивает, хотите ли вы сохранить изображение рабочей области перед выходом. Лично я предпочитаю не экономить рабочее пространство большую часть времени, потому что он быстро становится огромным, когда вы изучаете что-то с большими наборами данных и занимает много времени и пространства для сохранения нагрузки. – cyberj0g