Как сохранить скрипт в rstudio
Перейти к содержимому

Как сохранить скрипт в rstudio

  • автор:

Saving .R script File Using Script

I am using R Studio and I want to save my script (i.e., the upper left panel). However, the only ways that I can find to do it are by either clicking the blue floppy disk icon to save or using the drop down menu File > Save > name.R

Is there any way besides using these shortcuts to save the script to a .R file or is the shortcut the only way?

3 Answers 3

You can use rstudioapi::documentSave() to save the currently open script file to disk.

From the source documentation, one can see that it can be used in conjunction with the id returned with getActiveDocumentContext()$id to make sure the document saved is the one running the script.

Сохранение данных и экспорт графиков из среды R (Rgui)

Сохранение данных в Rgui

В предыдущих двух статьях я написал о том, как загрузить и как отредактировать таблицу данных в Rgui. Завершающим этапом в любом статистическом анализе является сохранение результатов. Результаты можно сохранить в разном виде: начиная от электронных таблиц, и заканчивая рабочим пространством R (формат .RData). Также я расскажу о том, как сохранять алгоритм команд и экспортировать графики.

Сохранение таблиц данных

Как и в прошлых двух статьях, мы будем работать с таблицей физических данных студентов одного из вымышленных военных ВУЗов (скачать можно здесь: voenvuz_clean). В статье о редактировании данных в R мы изменили структуру и содержание таблицы, однако не сохранили результат. К счастью, я сохранил алгоритм команд, который позволит восстановить отредактированную таблицу данных. Для этого в меню откроем вкладку «Файл» и выберем опцию «Новый скрипт». В открывшееся скриптовое окно вставляем следующий текст:

Теперь выделяем этот текст в скриптовом окне, и при помощи комбинации клавиш «Ctrl R» запускаем алгоритм команд в консоли. В конце Вы увидите результат обработки данных — таблицу «voenvuz» в консоли.

Сохранить таблицу в R

Полученную таблицу данных можно сохранить в разных форматах: для некоторых из них необходимо подключить дополнительные пакеты, для других нет. Как и прежде, я рекомендую писать все команды сначала в скриптовое окно и лишь затем переводить в консоль. Чтобы сохранить таблицу в обычном текстовом формате .txt достаточно ввести команду:

Некоторые мои знакомые предпочитают сохранять таблицу в .csv формате:

Для экспорта таблицы в файлы .xlsx следует сначала загрузить пакет «xlsx» и затем воспользоваться его функцией write.xlsx() :

Также можно сохранять данные в форматах разных статистических программ, таких как SAS, SPSS или STATA, используя r-пакет «foreign».

Экспорт векторной и растровой графики из Rgui

Ключевым и интуитивно понятным средством отображения данных является их визуализация. Графическое отображение данных — одна из сильных сторон среды R, так как позволяет создавать качественную растровую (пиксельную) и векторную (основанную на математическом описании геометрических фигур) графику. О преимуществах, недостатках и применении растровой и векторной графики хорошо и просто написано здесь.

Создадим два графика, в одном будет гистограмма веса студентов из нашей таблицы, а в другом диаграмма «ящик с усами», в котором будет показано распределение веса в разных возрастных группах. Чтобы объединить эти два графика в одно графическое окно (или графический девайс), можно воспользоваться функцией par() :

Таким образом, мы получили два графика в одном окне; однако заголовок второго графика не поностью умещается. Решить эту проблему легко: растяните графическое окно так, чтобы текст графика не выходил за рамки окна. После этого, кликаем на графическое окно, в меню нажимаем вкладку «Файл», затем «Сохранить как» и выбираем нужный формат. Это самый простой метод сохранения изображения из среды R.

Сохранение графиков в Rgui

Не сохраняйте графики в формате .jpeg. В противном случае Вам не избежать пиксельного мусора вокруг элементов графика, что очень серьезно ухудшает качество картинки. Существуют и другие способы экспорта графиков из Rgui. Продемонстрирую пару из них:

В первом мы просто сохранили файл векторного формата (.svg) в рабочую папку, не посмотрев предварительно на график в Rgui. Во втором — сначала просмотрели, как он будет выглядеть, а потом сохранили в растровом формате (.tif). Я рекомендую сохранять при помощи кода только те графики, которые были построены вручную в R (об этом я расскажу в отдельной статье). Если же Вы использовали функции автоматического построения, такие как plot() , boxplot() , hist() , то пользуйтесь меню — проще, быстрее, удобнее.

Как сохранить результаты статистического анализа?

Поставим задачу: нам необходимо сохранить результаты регрессионного анализа. Допустим, мы хотим выяснить, завиcит ли вес студентов от роста? Создадим модель, сделаем ее описание и построим график:

В итоге у Вас должно появиться графическое отображение линейной модели на графике и описание результатов статистической модели в консоли. Мы видим, что вес статистически зависим от роста студентов: чем больше рост, тем больше вес (r² = 0.63, p < 0.001). Из описания мы можем извлечь интересующие нас параметры, такие как r², p-value, intercept и другие. Можно сказать, что мы сохранили результаты анализа.

Сохранение рабочего пространства

Но как поступить, если анализ идет в несколько этапов, занимает длительное количество времени, и мы знаем, что нам необходимо будет его продолжить в будущем? Неужели надо будет полностью перезапускать алгоритм, реализация которого может занять сутки или даже недели (как например с Байесовскими методами). В таких случаях стоит сохранить рабочее пространство R, то есть текущую сессию со всеми переменными в ней. Для этого кликаем на консоль, в меню выбираем вкладку «Файл», затем опцию «Сохранить рабочее пространство», и в формате .RData сохраняете новый файл. Вы можете поделиться этим файлом с Вашими коллегам или руководителем, что позволяет работать над проектом в команде.

Сохранить рабочее пространство R

Когда вернетесь за работу, запустите Rgui, загрузите рабочее пространство и продолжайте анализ. Чтобы вспомнить, какие переменные находятся в загруженном пространстве, введите функцию ls() .

Сохранение скрипта и истории команд

Почему я всегда рекомендую писать все команды в скриптовом окне и лишь потом переводить их в консоль? Потому что перед завершением работы в R, скрипт можно сохранить как текстовый файл. Другими словами, при необходимости Вам всегда будет легко повторить или изменить что-либо в анализе данных: просто отредактируйте скрипт и запустите его в R (как мы сделали в начале этой статьи). Сохранить скрипт не составляет никакого труда: кликаем на скриптовое окно, затем идем в меню, выбираем вкладку «Файл» и далее «Сохранить как. «. Можно сохранить его в формате .r, но я предпочитаю обычный .txt.

Также Вы можете сохранить историю команд (я никогда ее не сохранял, но на всякий случай, расскажу как это сделать). Для этого кликаем на окно консоли, открываем в меню вкладу «Файл» и выбираем «Сохранить историю команд. «.

Заключение

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

Дальнейшие статьи будут посвящены статистическим методам и пакетам: как общим, так и узкопрофильным, используемым в физиологии, генетике и эволюционной биологии.

Сохранение в R Studio

Я пытаюсь понять, как работает сохранение в R Studio.

Когда я создаю новый проект, создается файл .RProj. Когда я работаю в R Studio, кнопки «Сохранить» и «Сохранить как» в меню «Файл» отображаются серым цветом. Я знаю, как создать файл .RProj, только при запуске нового проекта.

В разделе окружения я вижу значок сохранения дискеты. Когда я нажимаю на нее, создается файл .RData. Когда я когда-либо хочу сохранить, я щелкаю этот значок сохранения и перезаписываю файл.

Может кто-нибудь объяснить, каковы лучшие практики для сохранения при использовании R Studio и ключевые различия между файлами .RProj и .RData?

2 ответа

R проекты

Вам, вероятно, следует прочитать Использование проектов — Поддержка RStudio. Проекты R очень полезны, но они не предназначены для сохранения данных из среды R. Они используются исключительно редактором кода RStudio. Одна из самых приятных вещей, которые они делают, — это автоматически устанавливать ваш рабочий каталог в каталог проекта, когда вы его открываете. Они также запоминают, какие файлы вы открывали в RStudio, и другие настройки, связанные с редактированием, и тому подобное. Обязательно используйте RProjects!

R данные

.RData — это файл R-объектов. Вы можете создать файл данных R из R (а не только в RStudio) с помощью команды save() , а затем загрузить их обратно в рабочее пространство с помощью load() . Вы можете сохранить все объекты в вашем рабочем пространстве ( save.image делает это автоматически — это оболочка вокруг save() ) или только определенные объекты. Подробнее см. ?save . (Для отдельных объектов предпочтительны файлы .rds, созданные с помощью saveRDS .)

В течение многих лет (задолго до появления RStudio) RGui по умолчанию давал возможность сохранять все объекты в вашем рабочем пространстве в файл .RData при выходе. RStudio также предоставляет эту опцию (если вы не отключите ее).

Значок «сохранить» дискеты в верхней части панели редактора в RStudio не сохраняет объекты R, он сохраняет только код, который вы написали в своих сценариях. На вкладке «Среда» также есть значок сохранения на дискете, который позволяет сохранять объекты R.

Лучшие практики

Это влияет на мнение о стиле; однозначного ответа нет. Лично я предпочитаю никогда не выполнять сплошное сохранение всех объектов в моей рабочей области, потому что это дает плохую привычку не сохранять код, необходимый для создания этих объектов. Я сохраняю все свои сценарии, и если для создания определенного объекта (ов) требуется много времени, я запишу сценарий для его сохранения —

Я отношусь к модели или очищенному набору данных так же, как к красивому сюжету в коде — сохраните код, чтобы он создавался, на случай, если вы захотите его настроить, но сохраните вывод в файл, чтобы вам не пришлось запускать код для воссоздания это каждый раз, когда вы хотите посмотреть на это.

Для более крупных проектов я стараюсь ограничить объем отдельного сценария и часто нумерую сценарии (в том порядке, в котором я хочу запускать их с самого начала), как это предлагается в ответах на Рабочий процесс для статистического анализа и написания отчетов. Большинство скриптов начинают с чтения объектов, от которых они зависят, и заканчивают сохранением своих результатов.

Функция save() создает представление ваших объектов R в указанном файле. Позже объекты могут быть считаны из указанного с помощью функций load() , attach() или data() в некоторых случаях, например, для встроенных наборов данных R. Он позволяет сохранять созданные вами объекты и функции в файле .RData. При указании пути к файлу очень важно включать расширение .RData. Файл help предоставит вам дополнительную информацию.

Saving and Reusing Code and Commands in RStudio

When trying to complete an assignment or a complicated analysis all of the work cannot be completed in one sitting. Even if it could, you should want to have a record of what you did in case you need to rerun the analysis or use it again for a similar but different situation. To do this we can use R script files. RStudio makes it straight forward to do this, you can even just use a script as a scratch space without formally creating a file.

In this post, I’ll walk you through adding this capability to your RStudio workspace and some short cuts and tricks to using scripts.

Adding a script file to your RStudio view

Just a reminder, your workspace should look like the below view if you haven’t already opened a file or a script in RStudio:

RStudioInitialWindow_labelled

Initial RStudio Interface View

To add a script file, either click on the green plus button on the upper left in the tool bar and select R Script or go to File > New File > R Script or on Windows use the commands Ctrl + Shift + N. On Mac OS this should be Command + Shift + N.

AddRScript

Adding an R Script via the Add File Icon

After you add the script your RStudio view should look like the following (a new pane is added to the upper left):

RStudioInitialWindow_ScriptPane

RStudio Interface with Script/File Pane

Everything that we can type in the Console we can type in the Script file, the only difference is that you won’t see a carat at the beginning of the line. In a script file you can run one line of code at a time or multiple lines.

Running commands from a script file

In my previous post (Learning How to Use RStudio as a Calculator) we created a variable and calculated some summary statistics on the data. Let’s use these data again now in a script.

In the script file, copy and paste the following (copy all 4 lines at once):

Your script file should look like this:

initialCommandsRScript

Four lines of code in an R Script

We will start by running one line of code at a time. Click anywhere in the first line where we are saving the data to the frisbeeDist variable. There are a few ways to run or perform this action.

To run a line of code perform one of the following actions:

  1. Click on the Run button on the upper right of the script window.
  2. Use the command Ctrl + Enter on Windows or Command + Return on Mac OS.
  3. From the Code menu, select, Run Selected Line(s).

After you run the first line, it will be automatically copied to the Console and the command executed. All output will be in the Console.

executingCode.png

Ran first line of code and created the variable

Similarly the next three lines of code can be run one line at a time, or you can highlight all three lines and run all three at once. The actions are performed from top down so that if a line depends on a line above the actions will be performed in the correct order.

threeLinesSelected

You can select multiple lines to run at once

Once you select the lines, use one of the three ways to run code as listed above. The resulting Console window will look like this:

consoleAfterThreeLines

Console pane after running all four lines of code

Adding Comments to a Script File

The whole point of using script files is to keep code that you have run so that you can reuse it at a later time. In order to really take advantage of that you need to leave yourself notes as to what you did and why. You can do this in R Scripts by indicating a line is a comment and not something that should be executed.

We indicate a line in a script is a comment by starting the line with at least one hash or pound symbol: #. Commented lines will be green in the script file. In the image below I have added comments to the previous lines of files. Note these comments are copied to the console but no action is taken and are blue in the console.

commentedScriptandOutput

Commented script file and executed commented code

One other trick to making your files readable is adding white lines or spaces to break up the content. White lines when executed just act as a return in the console and just add blank lines between previous code or output and the next line of code or output.

Question: Which script file is more readable and understandable?

Saving the file

Now, you can take advantage of RStudio automatically saving and remembering anything typed in a script file and just close RStudio without saving this script to a named file. However, if anything happened to your computer you run the risk of losing this information. So I strongly recommend having a single script file for an assignment or project. To save the script, you can either click on the blue save icon, use the keyboard commands Ctrl + S on Windows or Command + S on Mac OS or go to File > Save. This file will be open in RStudio the next time you reopen RStudio unless you click on the X on the file tab to close it.

Viewing other files or data in RStudio

Many other types of files can be opened in RStudio besides RScripts. All of these files or data views will be created as tabs in this upper left hand pane. I will discuss importing data into RStudio in my next blog post, once data is imported, if you view the file it will be available as a tab.

Here is what it will look like to view data in a tab (with the previous script saved as “frisbeeDistAnalysis.R”:

DataViewTab

Data view in second tab in upper left pane

What’s Next?

The blog post will cover how to import data into RStudio to do analysis on sample data.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *