1. Инсталляция

Инсталлятор RStudio следует скачать с официального сайта проекта. RStudio можно установить как на персональный компьютер, так и на Linux-управляемый сервер. Ниже речь идет о варианте программы для персональных компьютеров.

Доступны инсталляторы RStudio для всех наиболее распространненных операционных систем, в частности Windows XP/Vista/7, Mac OS X 10.5, Debian 6+/Ubuntu 10.04 и Fedora 13. Выберите из списка соответствующий файл и скачайте его. Инсталляция происходит стандартно, без каких-либо особенностей.

2. Работа с Консолью

2.1. Общая информация

Консоль RStudio (Console) предоставляет целый ряд опций, делающих работу с R простой и продуктивной. Освоение этих опций, наряду с возможностями, доступными в панелях Source (Редактор кода) и History (История), может с лихвой воздать затреченное на обучение время.

2.2. Автоматическое завершение кода

RStudio поддерживает автоматическое завершение кода при помощи клавиши Tab. Например, если в рабочем пространстве имеется объект с именем pollResults , то можно набрать на клавиатуре poll , нажать Tab, и RStudio автоматически завершит название этого объекта. Аналогично можно получать подсказки по функциям при введении их имен. Например, введя название функции sub и нажав на Tab, получим следующее:

Завершение кода работает также для аргументов функций; например, если ввести subset( и нажать Tab, то получим:

2.3. Возврат к предыдущим командам

При работе с R постоянно возникает необходимость выполнить заново ту или иную команду, которая уже была выполнена ранее. Как и стандартная R-консоль, консоль RStudio поддерживает возможность навигации по ранее выполненным командам, используя клавиши со стрелками.

Для просмотря списка недавно выполненных команд и для выбора определенной команды из этого списка можно использовать также сочетание клавиш Ctrl+Вверх (Command-Вверх на Mac-компьютерах):

Такое же сочетание клавиш подходит и для быстрого поиска ранее вызванных функций, в имени которых имеется определенный префикс. Например, для поиска функций, в имени которых есть plot , следует просто ввести plot и нажать Ctrl+Вверх:

2.4. Заголовок окна Консоли

В заголовке окна Консоли имеется несколько дополнительных опций:

  • Отображение рабочей директории.
  • Возможность прервать текущие вычисления.
  • Сворачивание и разворачивание окна Консоли по отношению к панели Редактора кода (Source) (с использованием кнопок в правом верхнем углу или двойного клика по заголовку окна).

2.5. Горячие клавиши

Ctrl+L - Очищает окно Консоли от текста

Esc - прерывает вычисления

3. Редактирование и выполнение кода

3.1. Общая информация


Редактор кода RStudio включает ряд опций для продуктивной работы, в частности подсветку кода, автоматическое завершение кода, одновременное редактирование нескольких файлов, поиск и замену определенных частей кода.

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

3.2. Управление файлами


RStudio поддерживает подсветку синтаксиса и другие специализированные опции по работе с кодом следущих типов файлов:

  • R-скрипты
  • документы Sweave
  • документы TeX
Для создания нового файла используте меню File -> New:

Для открытия существующего файла необходимо воспользоваться меню File -> Open или Open Recent (для открытия файла,с которым работа осуществлялась недавно). Если открыто несколько файлов одновременно, быстрый переход от одного документа к другому выполняется при помощи соответствующих закладок в верхней части окна редактора кода. Для навигация между большим количеством открытых файлов служит иконка >> в правой верхней части окна Редактора; можно также воспользоваться меню View -> Switch to.



3.3. Завершение кода

Как уже отмечалось выше при описании работы с Консолью, RStudio поддерживает автоматическое завершение кода при помощи клавши Tab. Например, если в рабочем пространстве имеется объект с именем pollResults , то можно набрать на клавиатуре poll , нажать Tab, и RStudio автоматически завершит название этого объекта.


3.4. Поиск и замена частей кода

В Редакторе кода RStudio имеется возможность найти и заменить необходимые части текста. Для выполнения этой операции необходимо воспользоваться сочетанием клавиш Ctrl+F или разделом меню Edit -> Find and Replace. В верхней части окна редактора имеется кнопка в виде увеличительного стекла - ее нажатие также приводит к открытию диалогового окна, в котором задаются параметры поиска.



3.5. Автоматичекое создание функций

Редактор кода RStudio может проанализировать выделенную часть текста и автоматически конвертировать ее в функцию для последующего многократного использования. Все "свободные" переменные в выделенном коде (т.е. объекты, на которые имеется ссылка, но которые не созданы внутри выделения) будут при этом преобразованы в аргументы функции:

3.6. Комментирование кода

Для комментирования выделенных частей кода (или для снятия комментирования) используйте пункт меню Edit -> Comment/Uncomment Lines (см. также рисунок ниже):

3.7. Выполнение кода

RStudio поддерживает выполнение кода непосредственно из окна Редактора (выполняемые команды посылаются в Консоль, где появляется также результат их выполнения).

Для выполнения текущей строки кода можно воспользоваться сочетанием клавиш Ctrl+Enter или кнопкой Run Line(s), расположенной в верхней части окна Редактора:


Имеются две возможности для одновременного выполнения нескольких строк кода:

  • Выделить необходимые строки и нажать клавиши Ctrl+Enter (или воспользоваться кнопкой Run Line(s), расположенной в верхней части окна Редактора);
  • Нажать Ctrl+Shift+Enter для выполнения всех строк, имеющихся в скрипте.

3.8. Горячие клавиши

Ctrl+Shift+N - создать новый документ

Ctrl+O - открыть документ

4. Навигация по коду

4.1. Общая информация

RStudio включает ряд опций, обеспечивающих быструю навигацию по R-коду. Изучение этих опций может привести к существенному повышению эффективности работы, а также к лучшему понимаю кода, написанного другими.

4.2. Переход к файлу или функции

Если Вы знаете имя файла со скриптом или название функции, Вы можете быстро найти их, используя поле поиска Go to File/Function (Перейти к Файлу/Функции) в главной панели инструментов RStudio:


Опция "Go to File/Function" работает благодаря постоянному индексированию создаваемого Вами кода. Конкретные файлы, подлежащие индексированию, определяются следующим образом:

  • Если какой-либо проект RStudio активен: индексируются все файлы, находящиеся в папке этого проекта;
  • Если проект не активен: индексируются все открытые в данный момент фалы с R-скриптами.

Горячие клавиши для вызова опции Go to File/Function: Ctrl+

4.3. Переход к определению функции

Благодаря постоянно выполняемому индексированию R-кода (см. выше), RStudio может также помочь Вам найти определение любой функции. Для перехода к коду функции наведите курсор на ее имя (не обязательно выделять его полностью) и выберите команду Go to Function Definition (Перейти к определению функции):

Перейти к определению функции можно также следующими способами:

  • Используя горячую клавишу F2.
  • Используя Ctrl + щелчок по имени функции.
  • Используя Редактор кода или Консоль.

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

4.4. Навигация по скрипту

Существует несколько способов навигации по коду, хранящемуся в виде скрипта в отдельном файле:

  • Рассмотренная выше опция "Go to File/Function" поволяет выполнять поиск в пределах открытого файла со скриптом;
  • Команда Jump to Line (Перейти к строке) предназначена для перехода к определенной строке скрипта.

Можно также использовать опции из соответствующего меню (Code Tools):



4.5. Двусторонняя навигация по коду

При навигации по коду (особенно при последовательных переходах от одной функции к другой) часто возникает необходимость быстро вернуться к предыдущему месту, где выполнялось редактирование кода. RStudio хранит список таких редактирований и позволяет переходить от одного к другому в любом направлении, используя команды Back (Назад) и Forward (Вперед) (доступны из меню Edit (Редактирование), а также в верхнем левом углу окна Редактора кода). Команды Back и Forward позволяют повторять следующие действия:

  • Открытие документа (или переключение между закладками)
  • Переход к определению функции
  • Переход к определенной строке кода
  • Переход к функции с использованием меню Function
Команды Back и Forward можно вызвать, используя сочетания клавиш Ctrl+F9 / Ctrl+F10 (Cmd+F9 / Cmd+F10 на Mac компьютерах).

5. Использование истории команд

5.1. Общая информация

Во время работы RStudio создает базу данных всех команд, которые пользователь вводит в Консоль. Имеется возможность просмотра этой базы данных при помощи панели History (История).

5.2. Обзор истории команд

Закладка History в одной из служебных панелей RStudio служит для просмотра истории выполненных ранее команд. Команды отображаются в порядке их выполнения (недавние команды - внизу списка) и сгруппированы по времени:

5.3. Поиск в истории команд

В правом верхнем углу списка ранее выполненных комад имеется поле для ввода поисковых запросов (например, plot ). Условия поиска можно детализировать, введя несколько слов, разделенных пробелами (например, имя какой-либо таблицы данных):



После обнаружения необходимой команды можно также просмотреть и другие команды, которые выполнялись примерно в то же время. Для этого необходимо кликнуть по стрелке, расположенной справа от времени выполнения соответствующей команды:

5.4. Выполнение команд

Команды в панели History можно выделить и далее использовать двумя способами (в соответствии с названиями двух кнопок в левой верхней части панели):

  • Послать в Консоль (Send to Console) - отправляет выделенные команды в Консоль. Заметьте, однако, что отправленные в Консоль команды не будут выполнены пока не будет нажата клавиша Enter.
  • Вставить в Источник (Send to Source) - отправляет выбранные команды в активный документ Редактора кода. Если в данный момент в Редакторе нет активных открытых документов, будет создан новый документ без имени.

В списке ранее выполненных команд имеется возможность выбрать одну или несколько строк:


6. Рабочие директории и рабочие пространства

6.1. Общая информация

Учитывая то, как R по умолчанию обращается с файлами .RData и своими рабочими пространствами (workspaces), имеет смысл организовывать работу таким образом, чтобы файлы из разных проектов хранились в разных папках. Представленный ниже материал описывает имеющиеся в RStudio возможности для организации такой модели работы.

6.2. Рабочая директория по умолчанию


Аналогично стандартной версии R, RStudio руководствуется принципом "исходной рабочей директории". Как правило, это домашняя папка пользователя. При запуске RStudio происходит следующее:

  • Выполняется файл .Rprofile (если таковой имеется) из исходной рабочей папки.
  • Загружается файл .RData (если таковой имеется) из этой папки в рабочее пространство R.
  • Выполняются другие действия, описанные в служебном файле R Startup .

Если в рабочее пространство были внесены изменения, то при завершении работы RStudio появится диалоговая панель с вопросом о необходимости сохранить это рабочее пространство в виде файла .RData в текущей рабочей папке. Такое поведение можно изменить в настройках RStudio (меню Tools -> Options -> R General) следующим образом:

  • Изменить исходную рабочую директорию (Initial working directory)
  • Активировать/деактивировать автоматическую загрузку файла .RData из исходной рабочей папки R (Restore .RData into workspace at startup)
  • Выбрать, нужно ли файл .RData сохранять всегда (Always), никогда (Never), или спрашивать о сохранении при заврешении работы (Ask).

6.3. Изменение рабочей директории

Текущая рабочая директория отображается в верхней части окна Консоли. Имеется несколько способов изменить рабочую директорию:

  • Использовать функцию setwd()
  • Воспользоваться разделом меню Tools -> Change Working Dir...
  • На закладке Files выбрать More -> Set As Working Directory

Необходимо помнить о возможных последствиях изменения рабочей папки:

  • Имеющиеся в коде относительные ссылки на файлы станут недействительными.
  • При завершении работы файл .RData будет сохранен в новую папку.

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

Если все файлы, имеющие отношение к определенному проекту, хранятся в одной папке, имеет смысл сделать ее исходной для R. Способы для этого будут вариьировать в зависимости от операционной системы. Тем не менее, на всех платформах при инсталляции RStudio происходит ассоциация этой программы с .RData , .R и другими имеющими отношение к R файлами. При открытии таких файлов RStudio автоматически будет делать рабочей папкой ту, в которой хранится открываемый файл. Однако следует помнить, что если RStudio уже запущена, открытие новых ассоциированных с ней файлов не приведет к изменению рабочей папки.

Для сохранения рабочего пространства в рабочую папку R или загрузки пространства из рабочей папки во время активной сесси RStudio можно использовать следующие команды:

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


Закладка Workspace также имеет опции для выполнения описанных выше операций:

  • Загружает проект и отображает его название в панели инструментов Projects (находится в дальнем правом углу рабочего окна программы).
  • 7.3. Работа с проектами

    Открытие проекта

    Имеется несколько способов открытия проектов:

    • Использование команды Open Project (Открыть Проект), доступной из закладки Projects главного меню и панели инструментов, для навигации к файлу ранее созданного проекта (например, MyProject.Rproj).
    • Выбор проекта из списка недавно редактированных проектов (эта опция также доступна из закладки Projects главного меню и из панели инструментов).
    • Двойной щелчок по файлу-ярлыку проекта (см. выше).

    При открытии проекта в RStudio выполняются следующие действия:

    • Запускается новая сессия R;
    • Выполняются команды из служебного файла.Rprofile (если таковой имеется в основной папке проекта);
    • Файл.Rhistory загружается из папки проекта в панель History (История) и используется для навигации по ранее выполненным командам;
    • Директория проекта становится рабочей директорией R;
    • В Редакторе кода открываются ранее редактированные скрипты с R-кодом.
    • Происходит возврат других настроек RStudio (например, активные закладки, состояние разделителей окон, и т.п.) к состоянию, имевшему место перед предыдущим закрытием проекта.

    Выход из проекта

    Когда Вы выбираете команду Quit R (Выход) из раздела File главного меню, команду Сlose Project (Закрыть Проект) из панели инструментов Project, или просто октрываете новый проект, происходит следующее:

    • В папку проекта записываются файлы.RData и/или.Rhistory (если текущие настройки программы предполагают это);
    • Сохраняется список входящих в проект скриптов для возможности открыть их в следующий раз;
    • Сохраняются другие настройки RStudio (см. выше);
    • Текущая сессия R завершается.

    Работа с несколькими проектами одновременно

    Вы можете работать с несколькими проектами одновременно, просто запуская соответствующее количество копий RStudio. Это можно сделать двумя способами:

    • Использовать команду Open Project in New Window (Открыть проект в новом окне), находящуюся в разделе Project главного меню.
    • Открыть несколько проектов из браузера файлов, щелкая по соответствующим ярлыкам.
    Настройка проектов

    Имеется несколько опций для настройки поведения каждого конкретного проекта в RStudio. Эти опции доступны по команде Project Options из раздела Project главного меню программы:


    Закладка General (Общие ): При помощи этой закладки можно изменить глобальные настройки поведения проектов. Если изменять их нет необходимости, оставьте значение Default (По умолчанию). Доступны следующие опции:
    • Restore .RData into workspace at startup - загрузка файла.RData (если таковой имеется) из исходной рабочей директории R. Если файл.RData имеет большой размер, для данной опции лучше выбрать значение "No" (Нет). Это значительно сократит время запуска программы.
    • Save workspace to .RData on exit - сохранение рабочего пространства в виде файла.RData при выходе из программы. Возможные варианты: "Default" (используются глобальные настройки), "Yes" (Да), "No" (Нет) и "Ask" (Спросить). Обратите внимание: если рабочее пространство не было изменено, запрос на сохранение изменений не появится, даже если задано значение "Ask".
    • Always save history (even when not saving .RData) - позволяет сделать так, чтобы файл.Rhistory с историей команд всегда сохранялся, даже если Вы выбрали не сохранять файл.RData при выходе из программы.
    Закладка Editing (Редактирование ):
    • Index R source files - позволяет сделать так, чтобы скрипты с R-кодом из конкретного проекта индексировались для возможности навигации по коду (см. выше). Обычно эта опция должна быть активирована, но если в папке проекта находятся "тысячи" файлов, эту опцию можно отключить во избежание замедления работы программы.
    • Insert spaces for tab - задает действие клавиши Tab, т.е. сколько пробелов должно появляться при ее нажатии.
    • Text encoding - задает кодировку текста в файлах-скриптах. Файлы, кодировка которых не соотвествует заданной, все равно могут быть открыты и правильно распознаны при использовании команды Reopen with Encoding из меню File.
    Закладка Version Control (Контроль версий ):
    • Version control system - позволяет указать систему, которая будет использоваться для контроля версий. RStudio автоматически определяет наличие контроля версий путем сканирования папки.git или.svn. Соответственно, эту настройку лучше не изменять. Причинами для внесения изменений могут быть следующие:
    1. В проекте имеется как папка.git, так и папка.svn, и Вы хотите указать однозначно, какая из систем контроля должа использоваться.
    2. Проект не привязан к какой-либо системе контроля версий и Вы хотите добавить логическое хранилище git (эквивалент выполнения команды git init из корневой папки проекта).
    • Origin - отображение источника системы контроля версий.

    При работе с R скриптом может потребоваться обновлять его автоматически. Пакет “taskscheduleR” помогает настроить расписание для запуска R скрипта в Windows Task Schedule ежедневно, еженедельно, каждые N минут, после запуска Windows и так далее.

    1. Устанавливаем пакет “taskscheduleR” library(devtools) install.packages("devtools") install_github("jwijffels/taskscheduleR") library(taskscheduleR)

      Используем пакет «devtools», который позволяет скачивать и устанавливать пакеты напрямую с GitHub.

    2. Далее для настройки запуска скрипта можно воспользоваться либо интерактивной настройкой через форму, либо написав пару строк кода.

    Настройка расписания R скрипта в Task Scheduler через Addins:

    Настройка расписания R скрипта через функции пакета taskscheduleR:

    Функции пакета:

    • Получить список всех задач в Windows Task Sheduler
    • Удалить задачу из Windows Task Sheduler
    • Добавить задачу запуска R скрипта
      • Доступны следующие расписания: ‘ONCE’, ‘MONTHLY’, ‘WEEKLY’, ‘DAILY’, ‘HOURLY’, ‘MINUTE’, ‘ONLOGON’, ‘ONIDLE’
    ## Указываем название файла R скрипта для последующей работы с ним myscript <- system.file("extdata", "helloworld.R", package = "taskscheduleR") ## Запуск скрипта разово через 35 секунд taskscheduler_create(taskname = "myscript", rscript = myscript, schedule = "ONCE", starttime = format(Sys.time() + 35, "%H:%M")) ## Запуск скрипта ежедневно в 10:15, начиная с завтрашнего дня ## Важно: необходимо поменять формат даты, если он не совпадает с тем, что стоит на компьютере (пример: %m/%d/%Y) taskscheduler_create(taskname = "myscriptdaily", rscript = myscript, schedule = "DAILY", starttime = "10:15", startdate = format(Sys.Date()+1, "%d/%m/%Y")) ## Запуск скрипта каждую неделю в 10:15 по понедельникам taskscheduler_create(taskname = "myscript_mon", rscript = myscript, schedule = "WEEKLY", starttime = "10:15", days = "MON") ## Запуск каждые 5 минут, начиная с 10:15 taskscheduler_create(taskname = "myscript_5min", rscript = myscript, schedule = "MINUTE", starttime = "10:15", modifier = 5) ## Получить data.frame со всеми задачами tasks <- taskscheduler_ls() str(tasks) ## Удалить задачи taskscheduler_delete(taskname = "myscript") taskscheduler_delete(taskname = "myscriptdaily") taskscheduler_delete(taskname = "myscript_,mon") taskscheduler_delete(taskname = "myscript_5min") taskscheduler_delete(taskname = "myscript_withargs_a") taskscheduler_delete(taskname = "myscript_withargs_b")

    На что обращаем внимание:

    • Формат даты . Он должен совпадать с форматом даты на компьютере. В противном случае получим либо ошибку настройки расписания запуска скрипта, либо совсем другую дату.
    • Активность компьютера . Компьютер должен быть включен в момент запуска скрипта
    • Наличие других расписаний скрипта . При настройке нового расписания с тем же названием, предыдущее расписание удаляется.

    Вы можете использовать system() и Rscript для запуска сценария как асинхронного фонового процесса:

    system ("Rscript -e "source(\"your-script.R\")"" , wait = FALSE ) ... save.image ("script-output.RData" ) cat ("Script completed\n\n" )

    Надеюсь это поможет!

    Я хочу выполнить R-сценарий в фоновом режиме с консоли R.

    С консоли я обычно запускаю R-скрипт как источник ("~ / .active-rstudio-document). Мне нужно подождать, пока скрипт не будет завершен, чтобы продолжить работу. Вместо этого я хочу, чтобы R работал в фоновом режиме, пока я могу продолжить работу в консоли. Также я должен быть как-то уведомлен, когда R завершает команду источника. Возможно ли это в R?

    Это может быть весьма полезно, поскольку мы часто видим, что работа занимает много времени.

    PS - Я хочу, чтобы исходный скрипт работал в том же пространстве памяти, а не в новом. Поэтому решения, такие как fork, system и т. Д., Не будут работать для меня. Я вижу, могу ли я запустить R-скрипт как отдельный поток, а не отдельный процесс.

    R - популярный язык программирования с открытым исходным кодом, который специализируется на статистических расчетах и графиках. Он широко используется статистиками для разработки статистического программного обеспечения и проведения анализа данных. Одной из сильных сторон R есть его расширяемость. Пользователи могут создавать и публиковать собственные пакеты. R Сообщество очень активно, постоянно добавляются пользовательские статистические пакеты для специфических областей науки. Что делает R применимым во многих сферах.

    CRAN (Comprehensive R Archive Network) - это набор сайтов (зеркал) на которых размещены множество пакетов, и сами дистрибутивы R. Вы можете скачать R с любого из них но мы будем использовать RStudio.

    В этом руководстве вы узнаете как установить и настроить R в Ubuntu 14.04. Большинство инструкций подойдут и для других операционных систем, нужно будет изменить лишь несколько команд. На все про все у вас должно уйти не больше 10-15 минут.

    Конечно же нам потребуется Ubuntu 14.04 так как именно на нее рассчитана статья и 1 Гигабайт оперативной памяти в системе. Если памяти недостаточно, необходимо подключить раздел подкачки.

    Все команды выполняются от обычного пользователя, если будет нужен рут доступ мы используем sudo.

    Подготовка системы

    Для установки R мы будем использовать APT (Advanced Packaging Tool). Для хранения списка источников откуда будут загружены пакеты он использует специальный файл. Это /etc/apt/sources.list. Если мы хотим получить самую свежую версию R то нужно добавить правильный репозиторий в список источников. Для этого добавим следующую строку в /etc/apt/sources.list, в Ubuntu 14.04 она будет выглядеть вот так, но для других версий будет отличаться:

    sudo sh -c ‘echo «deb http://cran.rstudio.com/bin/linux/ubuntu trusty/» >> /etc/apt/sources.list’

    Репозиторий для своей версии ОС можно узнать там

    Для установки пакетов из этого репозитория в APT нам нужно добавить его публичный ключ. В Ubuntu CRAN подписан ключом с ID E084DAB9. Добавляем его в систему:

    gpg -keyserver keyserver.ubuntu.com -recv-key E084DAB9

    А затем в apt:

    gpg -a -export E084DAB9 | sudo apt-key add -

    Установка R

    Теперь когда APT настроен правильно мы можем переходить к установке.

    Сначала нужно обновить список доступных пакетов, так как мы изменили источники:

    sudo apt-get update

    Теперь можем устанавливать R. Флаг y, автоматически подтверждает установку программы:

    sudo apt-get -y install r-base

    Теперь у вас в системе установлена самая последняя версия R. Можете протестировать ее выполнив:

    Вы увидите что то на подобие этого:

    R version 3.2.1 (2015-06-18) - «World-Famous Astronaut»
    Copyright (C) 2015 The R Foundation for Statistical Computing
    Platform: x86_64-pc-linux-gnu (64-bit)

    R is free software and comes with ABSOLUTELY NO WARRANTY.
    You are welcome to redistribute it under certain conditions.
    Type ‘license()’ or ‘licence()’ for distribution details.

    Natural language support but running in an English locale

    R is a collaborative project with many contributors.
    Type ‘contributors()’ for more information and
    ‘citation()’ on how to cite R or R packages in publications.

    Type ‘demo()’ for some demos, ‘help()’ for on-line help, or
    ‘help.start()’ for an HTML browser interface to help.
    Type ‘q()’ to quit R.

    Сейчас вы в интерактивной консоли R и можете выполнять любые R команды. Для выхода используйте функцию:

    > q(save = «no»)

    Установка пакетов R из CRAN

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

    Как упоминалось ранее в CRAN размещен не только сам R но и многие дополнительные пакеты. Для установки или обновления пакетов из CRAN необходимо использовать R функцию install.packages(). Например если вы хотите установить пакет package используйте следующую команду:

    > install.packages(«package»)

    Стоит заметить что пакет будет установлен только для текущего пользователя и другим будет недоступен.

    Можно установить пакет R и для всех пользователей, для этого нужно использовать права суперпользователя. В качестве примера давайте установим пакет shiny который очень популярен среди разработчиков web приложений на R. Один из способов установки пакета от суперпользователя - войти как суперпользователь, запустить R и вызвать функцию install.packages (). Но этого делать не рекомендуется. Мы можем просто запустить R команду с помощью sudo. Параметр repo указывает с какого репозитория будет загружен пакет.

    sudo su - -c «R -e \»install.packages(‘shiny’, repos = ‘http://cran.rstudio.com/’)\»»

    Теперь пакет будет доступен для всех пользователей. Давайте проверим. Запустите R:

    Загрузите пакет:

    > library(shiny)

    Как видите команда не вызвала ошибок. Теперь закройте R:

    > q(save = «no»)

    Установка пакета DevTools

    Пакеты размещенные в CRAN могут быть установлены функцией install.packages() но есть еще много пакетов размещенных на GItHub. Для установки пакетов R из Github нужно использовать пакет DevTools. Давайте его установим. Для работы пакет требует три библиотеки libcurl4-gnutils-dev, libxml2-dev , и libssl-devc установите их:

    sudo apt-get -y install libcurl4-gnutls-dev libxml2-dev libssl-dev

    Теперь можно устанавливать devtools. Не забудьте что его нужно установить для всех пользователей как описано выше.

    sudo su - -c «R -e \»install.packages(‘devtools’, repos=’http://cran.rstudio.com/’)\»»

    Установка devtools займет несколько минут.

    Установка пакетов R из GitHub

    Теперь когда DevTools установлен, мы можем установить любой пакет из GitHub используя функцию install_github(). Также как и в установке из CRAN вы должны выполнять команду от суперпользователя для установки пактов для всех пользователей. Давайте попробуем установить shinyjs из GitHub который добавляет функциональность к пакету shiny. Пакет в GitHub определяется его автором и названием:

    sudo su - -c «R -e \»devtools::install_github(‘daattali/shinyjs’)\»»

    Давайте проверим корректность установки shinyjs загрузив его. Запустите R:

    Попробуйте загрузить shinyjs:

    > library (shinyjs)

    вы уже знаете как закрыть интерпретатор R:

    > q(save = «no»)

    Следующие шаги

    Теперь у вас в системе установлен и настроен полностью рабочий интерпретатор языка R. Для получения более подробной информации можете посетить

    Чтобы создать переменную (например, х) и присвоить ей значение (например, 1234) нужно просто ввести команду х=1234 . Теперь в любых выражениях имя переменной (в нашем случае х) будет автоматически заменено значением (у нас это 1234).

    Чтобы узнать значение переменной, достаточно ввести название переменной, и R выдаст ее значение. Выглядеть это будет так:
    > x=1234
    > х
    1234

    Присваивая переменной новое значение, можно использовать старое значение, то есть создавать конструкции типа
    > a=5
    > a
    5
    > a=a+3
    > a
    8

    Важно знать, что имена переменных могут состоять из латинских букв обоих регистров, из цифр и знаков подчеркивания (например, допустимы такие имена: a, x, x1, a_x, O_o, the_Variable_with_Long_Name, a459x4h36J4lbgT62). При этом первым символом должна обязательно являться буква! Наконец, регистр имеет значение, то есть RainForest и RainFOrest - это разные переменные.

    Векторы, или как работать с рядами данных?

    Что такое векторы в R?

    Допустим, у нас есть группа из 5 человек, и нам надо сохранить их возраста. Можно создать пять переменных, например
    > age_1=25
    > age_2=20
    > age_3=9
    > age_4=44
    > age_5=37
    Однако удобнее создать одну переменную, в которую поместить все 5 значений. Такой ряд данных, объединенных одним именем, хранящийся в определенном порядке - это массив данных, или вектор.

    Assign("age",c(25,20,9,44,37))
    или сокращенно: age

    Теперь, каждый отдельный элемент можно вызвать по его порядковому номеру в ряду, например, четвертый элемент можно получить так:
    > age
    44
    С такими отдельными элементами можно производить все те же операции, что и с обычными числами

    Функция append, или как добавить элементы в существующий вектор?

    Допустим, в нашей группе появился еще один человек, возраст которого 31 год. Мы можем создать заново вектор age, но теперь из шести элементов вместо пяти. Однако есть другой способ - использовать функцию append:
    > append(age,31)
    25 20 9 44 37 31
    Замечу, что мы могли бы вставить несколько значений, вспомнив про функцию c():
    > append(age,c(31,33,35))
    25 20 9 44 37 31 33 35

    Также функция позволяет вставить элементы в любом месте вектора с помощью параметра after. По умолчанию установлено значение after=length(x), то есть элементы добавляются в конец. Но допустим, мы захотим вставить нашего шестого человека после второго:
    > append(age, 31, after=2)
    25 20 31 9 44 37

    Операции с векторами, или что можно делать с векторами?

    Можно оперировать всеми элементами вектора одновременно. Так прибавление числа к вектору равносильно прибавление этого числа к каждому элементу вектора. Или, например, чтобы вывести, сколько десяктов лет прожил каждый человек из нашего примера, можно сделать так:
    > age/10
    2.5 2.0 0.9 4.4 3.7

    Аналогично со сложением, вычитанием и другими операциями, описанными в пункте про

    Как сравнивать векторы, элементы векторов?

    Допустим, нужно выяснить, какие элементы вектора (пусть будет тот же age) больше определенного числа (например, кто из нашей маленькой выборки совершеннолетний). R для каждого элемента скажет, выполняется ли условие, то есть TRUE (верно) или FALSE (не верно) Выглядеть будет примерно так:
    >age
    25 20 31 9 44 37
    > age >= 18
    TRUE TRUE FALSE TRUE TRUE

    Но может понадобиться получить один ответ, например, верно ли, что все элементы соответствуют условию? или есть ли вообще элементы, соответствующие условию? Для этого используем две функции, соответственно, all() и any()

    all(x1,x2,...,xn) - ответит на вопрос, верно ли, что все условия (x1, x2, ... и xn) верны? то есть это логическая конъюнкция. Например:
    > all (age >= 7, age TRUE
    # действительно, все испытуемые не младше семи и младше шестидесяти
    > all (age >=18, 1 > 0)
    FALSE
    # хотя единица, конечно, больше нуля, но среди наших испытуемых есть один девятилетний, поэтому не верно

    any(x1,x2,...,xn) - ответит на вопрос, есть ли среди условий (x1, x2, ..., xn) хоть одно верное? то есть это логическая дизъюнкция. Пример:
    > any (age >=18, 1 > 0)
    TRUE

    Наконец, можно сравнивать между собой два вектора. Но для этого нужно либо чтобы длина большего была кратна длине меньшего либо чтобы длины были равны. Примеры:
    > a > a > b
    FALSE FALSE FALSE TRUE TRUE

    Как задать последовательность чисел?

    • оператор:
    • seq(from,to,by,length,along) - создает последовательность, начиная с from, заканчивая to с шагом by. Можно задать длину ряда параметром length или приравнять по длине к другому вектору along . Аргументы: from, to, by, length, along (такой же длины как...)
    • rep(a, times, each) - повторять вектор a times раз или each раз каждый элемент a. Аргументы: вектор, times, each

    Сортировка

    • sort(v,increasing) - сортирует вектор v; increasing - булев, true - по возрастанию, false - по убыванию, можно вместо этого написать increasing=decreasing;
    • order()