R LanguageНачало работы с R Language


замечания

Редактирование R Docs при переполнении стека

При создании документации ознакомьтесь с документацией по общим правилам.

Несколько особенностей R, что иммигранты с другого языка могут найти необычные

  • В отличие от других языков переменные в R не требуют объявления типа.
  • Одной и той же переменной могут быть назначены разные типы данных в разные моменты времени, если это необходимо.
  • Индексирование атомных векторов и списков начинается с 1, а не 0.
  • R- arrays (и частный случай матриц) имеют атрибут dim который отличает их от «атомных векторов» R, которые не имеют атрибутов.
  • Список в R позволяет вам собирать различные объекты под одним именем (то есть имя списка) упорядоченным способом. Эти объекты могут быть матрицами , векторами , кадрами данных , даже другими списками и т. Д. Даже не требуется, чтобы эти объекты были связаны друг с другом каким-либо образом.
  • Переработка отходов
  • Отсутствующие значения

Получать помощь

Вы можете использовать функцию help() или ? для доступа к документам и поиска помощи в R. Для более общих поисков вы можете использовать help.search() или ?? ,

#For help on the help function of R
help()

#For help on the paste function
help(paste)    #OR
help("paste")  #OR
?paste         #OR
?"paste"
 

Посетите https://www.r-project.org/help.html для получения дополнительной информации.

Привет, мир!

"Hello World!"
 

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

Установка R

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

Только для Windows:

Visual Studio (начиная с версии 2015 Update 3) теперь имеет среду разработки для R, называемую R Tools , которая включает в себя живой интерпретатор, IntelliSense и модуль отладки. Если вы выберете этот метод, вам не нужно будет устанавливать R, как указано в следующем разделе.

Для Windows

  1. Перейдите на сайт CRAN , нажмите на загрузку R для Windows и загрузите последнюю версию R.
  2. Щелкните правой кнопкой мыши файл установщика и запустите его как администратор.
  3. Выберите язык для установки.
  4. Следуйте инструкциям по установке.

Для OSX / macOS

Альтернатива 1

(0. Убедитесь, что XQuartz установлен)

  1. Перейдите на сайт CRAN и загрузите последнюю версию R.
  2. Откройте образ диска и запустите программу установки.
  3. Следуйте инструкциям по установке.

Это установит как R, так и R-MacGUI. Он поместит GUI в / Applications / Folder как R.app, где его можно либо дважды щелкнуть, либо перетащить в Doc. Когда новая версия будет выпущена, процесс (re) -installation перезапишет R.app, но будет сохранен предыдущий вариант основных версий R. Фактический код R будет находиться в каталоге /Library/Frameworks/R.Framework/Versions/. Использование R в RStudio также возможно и будет использовать один и тот же R-код с другим графическим интерфейсом.

Альтернатива 2

  1. Установите homebrew (отсутствующий менеджер пакетов для macOS), следуя инструкциям на https://brew.sh/
  2. brew install R

Те, кто выбирает второй метод, должны знать, что сторонник вилки Mac советует против него и не будет отвечать на вопросы о трудностях в списке рассылки R-SIG-Mac.

Для Debian, Ubuntu и производных

Вы можете получить версию R, соответствующую вашему дистрибутиву, с помощью apt-get . Однако эта версия часто будет значительно отставать от самой последней версии, доступной на CRAN. Вы можете добавить CRAN в свой список признанных «источников».

sudo apt-get install r-base
 

Вы можете получить более новую версию непосредственно из CRAN, добавив CRAN в список источников. Следуйте указаниям от CRAN для получения более подробной информации. Обратите внимание, в частности, на необходимость также выполнить это, чтобы вы могли использовать install.packages() . Пакеты Linux обычно распространяются как исходные файлы и нуждаются в компиляции:

sudo apt-get install r-base-dev
 

Для Red Hat и Fedora

sudo dnf install R
 

Для Archlinux

R напрямую доступен в Extra package.

sudo pacman -S r

Более подробную информацию об использовании R под Archlinux можно найти на странице ArchWiki R.

Интерактивный режим и сценарии R

Интерактивный режим

Самый простой способ использования R - интерактивный режим. Вы вводите команды и сразу получаете результат от R.

Использование R в качестве калькулятора

Запустите R, набрав R в командной строке вашей операционной системы или выполнив RGui в Windows. Ниже вы можете увидеть скриншот интерактивной сессии R в Linux:

Снимок экрана с терминалом linux, выполняющим R

Это RGui в Windows, самая основная рабочая среда для R под Windows: Снимок экрана терминала RGui в Windows

После знака > можно ввести выражения. После того, как выражение напечатано, результат показан R. На скриншоте выше R используется в качестве калькулятора: Тип

1+1
 

чтобы сразу увидеть результат, 2 . Ведущий [1] указывает, что R возвращает вектор. В этом случае вектор содержит только одно число (2).

Первый сюжет

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

Введите int следующие строки в запрос R, которые не начинаются с ## . Строки, начинающиеся с ## , предназначены для документирования результата, который будет возвращен R.

data(PlantGrowth)
str(PlantGrowth)
## 'data.frame':    30 obs. of  2 variables:
## $ weight: num  4.17 5.58 5.18 6.11 4.5 4.61 5.17 4.53 5.33 5.14 ...
## $ group : Factor w/ 3 levels "ctrl","trt1",..: 1 1 1 1 1 1 1 1 1 1 ...
anova(lm(weight ~ group, data = PlantGrowth))
## Analysis of Variance Table
## 
## Response: weight
##           Df  Sum Sq Mean Sq F value  Pr(>F)  
## group      2  3.7663  1.8832  4.8461 0.01591 *
## Residuals 27 10.4921  0.3886                  
## ---
## Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
boxplot(weight ~ group, data = PlantGrowth, ylab = "Dry weight")
 

Создается следующий график:

Boxplot, созданный из набора данных PlantGrowth

data(PlantGrowth) загружают примерный набор данных PlantGrowth , который представляет собой данные о сухих массах растений, которые подвергались двум различным условиям лечения или вообще не подвергались лечению (контрольная группа). Набор данных доступен под названием PlantGrowth . Такое имя также называется переменной .

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

str(PlantGrowth) показывает информацию о загруженном наборе данных. Вывод указывает, что PlantGrowth - это data.frame , который является именем R для таблицы. data.frame содержит два столбца и 30 строк. В этом случае каждая строка соответствует одному растению. Подробности двух столбцов показаны в строках, начинающихся с $ : первый столбец называется weight и содержит числа ( num , сухой вес соответствующего растения). Вторая колонка, group , содержит обработку, на которую растение подвергалось. Это категориальные данные, которые называются factor R. Прочитайте больше информации о кадрах данных .

Чтобы сравнить сухие массы трех разных групп, односторонний ANOVA выполняется с использованием anova(lm( ... )) . weight ~ group означает «Сравнить значение столбца weight , группировку по значениям столбца group ». Это называется формулой в R. data = ... указывает имя таблицы, в которой данные могут быть найдены.

Результат показывает, среди прочего, что существует значительная разница (Column Pr(>F) ), p = 0.01591 ) между некоторыми из трех групп. Последующие тесты, такие как Tukey's Test, должны выполняться для определения того, какие средства групп значительно различаются.

boxplot(...) создает boxplot(...) график данных. где значения, которые должны быть построены, исходят из. weight ~ group означает: «Заговор значения веса столба по сравнению с значениями столбца group . ylab = ... указует метку оси у Дополнительной информации:. Базовые заговоры

Введите q() или Ctrl- D, чтобы выйти из сеанса R.

R-скрипты

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

Создайте текстовый файл с именем plants.R и заполните его следующим текстом, где некоторые команды знакомы с приведенным выше кодом кода:

data(PlantGrowth)

anova(lm(weight ~ group, data = PlantGrowth))

png("plant_boxplot.png", width = 400, height = 300)
boxplot(weight ~ group, data = PlantGrowth, ylab = "Dry weight")
dev.off()    
 

Выполните скрипт, введя свой терминал (терминал вашей операционной системы, а не интерактивный сеанс R, как в предыдущем разделе!)

R --no-save <plant.R >plant_result.txt
 

Файл plant_result.txt содержит результаты ваших вычислений, как если бы вы ввели их в интерактивную подсказку R. Таким образом, ваши расчеты задокументированы.

Новые команды png и dev.off используются для сохранения boxplot на диск. Две команды должны заключать команду построения графика, как показано в примере выше. png("FILENAME", width = ..., height = ...) открывает новый PNG-файл с указанным именем файла, шириной и высотой в пикселях. dev.off() завершит dev.off() и сохранит график на диск. Выход не сохраняется до dev.off() .