3. R работает по принципу «вопрос-ответ»
Команды вводятся после «знака подсказки» в
командной строке, напр.:
> plot(rnorm(1000))
1000 случайно
сгенерированных
нормально распределенных
значений
Author: Sergey Mastitsky
0 200 400 600 800 1000
-3-2-10123
Index
rnorm(1000)
5. > x <- 2
> x
[1] 2
> x + x
[1] 4
> y <- 5
> x * y
[1] 10
Author: Sergey Mastitsky
6. Можно использовать любые символы, но:
имена не должны начитаться с точки “.” и
содержать пробелы
имена не должны начинаться с цифр
имена чувствительны к регистру: WT и wt –
для R это разные переменные
Не следует использовать зарезервированные
служебные имена:
- c, q, t, C, D, F, I, T
- diff, df, pt, и некоторые др.
Author: Sergey Mastitsky
7. Векторы в R – самостоятельные объекты:
> weight <- c(60, 72, 57, 90, 95, 72)
> weight
[1] 60 72 57 90 95 72
c(…) – функция «конкатенации» (concatenation)
Можно выполнять вычисления над
векторами, как над обычными числами:
> height <- c(1.75, 1.80, 1.65, 1.90,
1.74, 1.91)
> bmi <- weight/height^2
> bmi
[1] 19.592 22.2222 20.937 24.931 31.378 19.736
Author: Sergey Mastitsky
11. То, что мы вводим в командную строку, имеет
более общее название – выражение (expression)
Выражения обычно включают имена
переменных, операторы и функции:
xbar <- sum(weight)/length(weight)
функция
имя переменной
оператор
Author: Sergey Mastitsky
12. Выражения выполняют действия над
объектами
Практически все, что мы создаем в R,
можно назвать “объектом”
x, weight, height, SD – все это объекты
R – объекто-ориентированный язык
Author: Sergey Mastitsky
13. Объекты, содержащие данные (data
objects) – векторы, матрицы, списки и
таблицы данных
Функции (function objects)
Author: Sergey Mastitsky
15. Функция – имеющий имя набор команд,
которые выполняют определенные операции
над другими объектами:
plot(), c(), sum(), mean()...
Фактичекие аргументы функций – объекты, к
которым применяется функция:
plot(height, weight)
Формальные аргументы – параметры,
управляющие поведением функции:
plot(height, weight, pch = 2)
Author: Sergey Mastitsky
16. Скобки должны использоваться всегда,
даже если мы не указываем никаких
аргументов при вызове функции
Типичный пример: ls()
Author: Sergey Mastitsky
19. Часто встречаются на практике
В R обозначаются как NA:
> c(2, NA, 10)
[1] 2 NA 10
Операции над NA возвращают NA, и поэтому
часто такие значения приходится исключать
из анализа:
> mean(c(2, NA, 10))
[1] NA
Author: Sergey Mastitsky
28. Фактор – качественная переменная,
содержащая метки для групп данных
(например, пол, место отбора проб,
экспериментальная группа и т.д.)
Уровни фактора – конкретные
категории такой переменной (например,
“самец” и “самка”)
Author: Sergey Mastitsky
29. > sex <- c("male", "male",
"female", "female", "female")
> sex <- factor(sex)
> sex
[1] male male female female female
Levels: female male
> levels(sex)
[1] "female" "male"
> as.numeric(sex)
[1] 2 2 1 1 1
Author: Sergey Mastitsky
30. Этот способ тоже сработает, но лучше
его не использовать:
> sex <- c(0, 0, 1, 1, 1)
> sex <- factor(sex)
> sex
[1] 0 0 1 1 1
Levels: 0 1
Author: Sergey Mastitsky
36. Таблица данных – список векторов
и/или факторов одинаковой длины,
упорядоченных в виде таблицы.
Каждый ряд в такой таблице
соответствует одному наблюдению. У
рядов также могут быть имена.
Author: Sergey Mastitsky
37. > data <- data.frame(
Sex = sex,
Weight = weight,
Height = height)
> data
Sex Weight Height
1 male 80 1.75
2 male 85 1.80
3 female 60 1.68
Author: Sergey Mastitsky
38. > names(data)
[1] "Sex" "Weight" "Height“
> data$Sex
[1] male male female
Levels: female male
> data$Height
[1] 1.75 1.80 1.68
Author: Sergey Mastitsky
42. Значения из 2-го ряда 3-го столбца:
> data[2, 3]
[1] 1.8
Весь 2-й ряд:
> data[2, ]
Sex Weight Height
2 male 85 1.8
Весь 3-й столбец:
> data[, 3]
[1] 1.75 1.80 1.68
Author: Sergey Mastitsky
43. Все данные для самцов:
> data[data$Sex == "male", ]
Sex Weight Height
1 male 80 1.75
2 male 85 1.80
> data$Sex == "male"
[1] TRUE TRUE FALSE
Author: Sergey Mastitsky
44. Данные из 1-го и 3-го столбцов:
> data[, c(1, 3)]
Sex Height
1 male 1.75
2 male 1.80
3 female 1.68
Author: Sergey Mastitsky
45. Полезные команды для больших таблиц:
> head(data, n = 2)
Sex Weight Height
1 male 80 1.75
2 male 85 1.80
> tail(data, n = 2)
...
Author: Sergey Mastitsky
48. Рабочее пространство – часть памяти
компьютера, где хранятся все объекты,
созданные в ходе конкретной R-сессии
(временно, пока не будут сохранены!)
Проверка содержимого рабочего
пространства:
> ls()
...
В RStudio имеется закладка “Environment”
Author: Sergey Mastitsky
49. Периодически стоит проводить «уборку»:
> rm(i)
Для удаления всех объектов (осторожно!):
> rm(list = ls())
В RStudio:
закладка “Environment”, кнопка “Clear All”
Author: Sergey Mastitsky
50. Сохранение текущего рабочего
пространства (создает файл .Rdata в
текущей рабочей директории):
> save.image()
В RStudio:
- Закладка “Environment”
- Кнопка “Save Workspace As…”
Author: Sergey Mastitsky
51. Рабочая директория – папка, из которой R по
умолчанию пытается загружать файлы (и
сохранять в нее)
Проверка пути к текущей рабочей папке:
> getwd()
[1] "D:/DOCS"
Создание новой рабочей директории:
> setwd("D:/DOCS/Analysis")
В RStudio:
Session/Set Working Directory/Choose Directory
Author: Sergey Mastitsky
53. Для выполнения нескольких
однотипных/специализированных команд
стоит сохранить их в виде скрипта
Опция 1: функция source() – загружает
файл со скриптом и выполняет его
Опция 2: редактор скриптов в RStudio –
позволяет выполнять несколько команд
одновременно
Author: Sergey Mastitsky
56. Имеется обширная встроенная справочная
система:
> help.start()
или закладка Help в RStudio
Справка по конкретной функции:
> help(plot) # или просто
> ?plot
Справка по определенной теме:
> help.search("correlation")
Справка по определенному пакету:
> help(package = "name")
Author: Sergey Mastitsky
58. Пакет – коллекция функций, созданных для
выполнения определенного класса задач, или
колекция таблиц с данными (см. закладку
Packages в RStudio)
Для загрузки (уже установленного) пакета:
> library(package)
Инсталляция нового пакета (требуется Интернет-
соединение):
> install.packages("имя_пакета")
Author: Sergey Mastitsky