Данная дисциплина предназначена для изучения языка программирования R и его использования для анализа данных. Дисциплина охватывает все стадии анализа данных: от сбора и обработки данных до обучения модели на этих данных. Уделено большое внимание визуализации данных, а также работе с данными в интернете.
R — язык программирования для статистической обработки данных и работы с графикой, но в то же время это свободная программная среда с открытым исходным кодом. R применяется везде, где нужна работа с данными. Это не только статистика в узком смысле слова, но и «первичный» анализ (графики, таблицы), и продвинутое математическое моделирование.
IDE(Integrated Development Environment) - интегрированная среда разработки. Можно сказать, что это красивая и удобная обложка для R. Такими инстструментами являются RStudio, JGR, RKWard, SciViews-R. Мы будем использовать RStudio. Для тех, кто продвинется в изучении R и Python,можно работать с обоими языками в Jupyter notebook.
Интерфейс RStuidio состоит из четырёх основных окон:
Давайте теперь попробуем начать наше взаимодействие с R. Начнем с простых арифметических операций. Будем писать и запускать код в консоли. О том, что консоль готова запускать какой-либо код, говорит нам знак больше(>). Напишем 2 + 2 и нажмем Enter.
В выводе получаем закономерные 4! Попробуйте сами выполнить остальные арифметические операции.
2+2 # Сложение.
## [1] 4
10-5 # Вычитание.
## [1] 5
10*99 # Умножение.
## [1] 990
225/15 # Деление, результат - целочисленный.
## [1] 15
10/4 # Деление, результат - действительное число.
## [1] 2.5
11%/%3 # Целая часть от деления.
## [1] 3
11%%3 # Остаток от деления.
## [1] 2
5^2 # Возведение в степень (1 вариант).
## [1] 25
5**2 # Возведение в степень (2 вариант).
## [1] 25
В R также есть встроенное значение числа Пи.
Давайте теперь попробуем воспользоваться знакомыми нам функциями. Например найдем косинус числа Пи. Для этого напишем в консоли cos(pi)
. Заметим, что аргумент нашей функции мы записываем в круглых скобках. Используем эту функцию и другие.
cos(pi) # Косинус.
## [1] -1
sin(pi) # Синус.
## [1] 1.224647e-16
exp(1) # Экспонента.
## [1] 2.718282
log(exp(1)) # натуральный логарифм
## [1] 1
log10(100) # логарифм с основанием 10
## [1] 2
tan(0) # Тангенс.
## [1] 0
abs(-5) # Модуль.
## [1] 5
sqrt(144) #Корень.
## [1] 12
factorial(10) # Факториал.
## [1] 3628800
Отметим некоторые моменты про функции:
Все эти функции являются встроенными в R. На вход функции получают один или несколько аргументов. Как и в математике, чтобы получить значение функции \(y = f(x)\) нужно подставить аргумент \(x\).
Некоторые функции принимают несколько аргументов, а не один. Например, у функции log
есть основной аргумент (число, от которого нам нужно посчитать логарифм), а также аргумент base
, в который нужно передать основание логарифма. Как я узнал что он называется base
? Да очень просто: я написал функцию, а затем нажал TAB
. После этого R сразу предложил мне все аргументы внутри функции. Также у функции round
имеется два аргумента: число, которое нужно округлить, и до скольки знаков после запятой это нужно сделать (аргумент называется digits
).
log(4, base=2) # логарифм от 4 с основанием 2
## [1] 2
round(3.4865, digits=2) # Округление числа 3.4865 до 2 знака после запятой.
## [1] 3.49
Важное замечание №1: Нажимать TAB
внутри R бывает очень полезно. Например, вы не помните как называется функция полностью, но помните о том, с каких букв она начинается. Тогда можно начать писать название функции, нажать TAB
и R предложит вам все варианты. В первое время старайтесь нажимать TAB
почаще, чтобы получать клевые подсказки от R.
Важное замечание №2: Порой внутри функции бывает очень много аргументов, да и когда их всего 2, если честно перечислять названия каждого не очень хочется. Тогда можно перечислить все, что вы подставляете в аргументы, просто через запятую, но в таком случае важно соблюдать порядок передачи символов. То есть, например, в описанные выше функции log
и round
можно было добавить аргументы так.
log(4, 2) # логарифм от 4 с основанием 2
## [1] 2
round(3.4865, 2) # Округление числа 3.4865 до 2 знака после запятой.
## [1] 3.49
Важное замечание №3: Многие аргументы внутри функций принимают какие-то значения по умолчанию. Например, можно залезть в справку функции log
и увидеть, что аргумент base
, отвечающий за основание логарифма, по умолчанию равен exp(1)
, то есть по умолчанию логарифм натуральный. Поэтому если мы не поставим ничего в аргумент base
, это не выдаст нам ошибку, так как по умолчанию уже есть число, которое соответствует этому аргументу. Аналогично с функцией round
log(4) # логарифм от 4 с основанием exp(1) - стоит по умолчанию
## [1] 1.386294
round(3.456) # по умолчанию digits=0, то есть округляем до целого числа
## [1] 3
Как говорилось ранее, о готовности консоли запустить код говорит знак больше(>). Но иногда там появляется плюсик(+) из-за которого все перестает работать. Этот плюсик появляется после того, как вы не дописали какой-то код. Давайте напишем в консоли 10 - 5 -
. В данном случае мы видимо забыли дописать какое-то число. У нас появится плюсик(+). В данном случае мы можем дописать код или нажать Esc и написать код заново. Чтобы не писать код заново, можно с помощью стрелочки вверх вернуться к написанному ранее коду.
Перечислим еще несколько важных моментов, которые очень полезно знать для работы в дальнейшем:
Можно очистить консоль сочетанием клавиш Ctrl+L(Cmd + L на маке) .
Кто не знал, факториал числа \(n\) вычисляется следующим образом. \[ n! = 1 \times 2 \times... \times n-1 \times n \] Восклицательный знак как раз и обозначает факториал. Например, посчитаем факториал числа 5. \[ 5! = 1 \times 2 \times 3 \times 4 \times 5 = 120 \]
Обычно мы пишем достаточно большой код на много строк. Писать по одной строке в консоле очень неудобно по всем причинам. Хотелось бы написать код, а потом уже его запустить и при надобности редактировать. Для этого и нужен скрипт. Давайте создадим наш первый скрипт!
Код пишется здесь построчно. После того, как вы написали нужный вам код у вас есть несколько вариантов как передать его в консоль и запустить:
Полезно комментировать код, который вы пишите, чтобы другие люди или вы позднее смогли понять смысл кода. Для комментирования используется решетка (#). Все, что идет после нее не является кодом, который R запускает. Это удобно, когда нужно прокомментировать что-то или убрать часть кода, не удаляя его. Если вам нужно закомментировать/раскоментировать несколько строк, то можно использовать комбинацию клавиш Ctrl + Shift + C (Сmd + Shift + C на маке).
Также можно сделать заголовок, чтобы отделить части кода друг от друга. Это можно сделать с помощью комбинации клавиш Ctrl + Shift + R (Сmd + Shift + R на маке).