Анализ данных — это основное направление в языке программирования R; собственно, это та сфера, для которой и был разработан этот язык. В этой сфере он является главным конкурентом языка Python, который также используют при работе с данными. R имеет широкое применение в научной сфере, особенно в социальных и экономических проектах, и рассчитан на работу с огромными объемами информации.
Важно отметить, что R был разработан факультетом статистики Оклендского Университета. То есть он создан статистами для статистики, поэтому анализ данных в R — это его основная деятельность. Именно для этого в нем уже встроены инструменты для работы с данными:
тесты;
методы анализа;
графические инструменты;
и др.
Во многих рейтингах за 2020-2021 года R входит в десятку самых популярных языков программирования и занимает 6-8 места.
Анализ данных в R, пример
Давайте рассмотрим некоторые варианты анализа данных в R на простом примере. Допустим, у нас есть некие исходные данные по вашему условному автосалону, они будут иметь следующий вид:
NUM; CAR_NUM; COM_NAME; CAR_NAME; ID_NUM
1;"В359ЕН208";"ООО «KIA-MOTORS»";"KIA SEPHIA";"2228857318689"
2;"В358ЕН208";"ООО «KIA-MOTORS»";"KIA SORENTO";"2228857318688"
3;"В357ЕН208";"ООО «KIA-MOTORS»";"KIA SPORTAGE";"2228857318687"
Пример исходных данных ясен. Давайте посмотрим, что с ними можно сделать.
Преобразуем данные
Предполагаем, что нам нужно проанализировать данные не всей таблицы, а лишь нескольких ее столбцов. Допустим, мы хотим выявить автомобили компаний, которые у нас присутствуют в автосалоне, и какие модели от каждой компании у нас представлены. Для этого нам нужно в результате преобразования:
выгрузить данные из поля COM_NAME в другое поле ORG_NAME;
из поля CAR_NAME выгрузим данные в новое поле CAR_BRAND;
все остальные поля «опустить».
Это нам поможет сделать следующий скрипт:
ptn <- "^(.+?) (.+)$"
dt <- data.table(rawdata)[,
list(CAR_NUN, COM_NAME, CAR_NAME, ID_NUM,
ORG_NAME = gsub(ptn, "\\1" , toupper( COM_NAME )),
CAR_BRAND = gsub(ptn, "\\1", toupper( CAR_NAME )))
]
rm(rawdata) # Clear some memory
Проверяем, что у нас получилось. Чтобы проверить, получилось у нас или нет, нужно ввести следующую команду:
sort( table(dt$ORG_NAME) )
По идее если мы все сделали правильно, то после этого скрипта нам должны быть выданы корректные данные по разновидности компаний, чьими автомобилями мы торгуем в своем автосалоне.
Проанализируем данные
А вы знаете все марки автомобилей, которыми торгуете в своем автосалоне? В принципе, знать их нормально, если автосалон небольшой. Но представим, что у вас тысячи автомобилей — что тогда? Тогда мы можем провести анализ данных при помощи R и посмотреть, какие марки авто у вас есть в автосалоне, которые, например, начинаются на букву «К».
Делается это несложно:
sort( unique( dt[grep("^К.*", CАR_BRAND), CAR_BRAND]))
Результатом мы получим вывод всех автомобилей, которые начинаются на букву «К».
Визуализируем данные
Давайте визуализируем наш автопарк в виде секторной диаграммы в форме круга, отталкиваться будем от количества автомобилей по конкретным компаниям:
st <- dt[, list(N = length(CAR_NUM)), by = COM_NAME ]
st <- st[, COM_NAME := reorder(COM_NANE, K) ]
piedata <- rbind(
st[ K >= 9 ][ order(K, decreasing=T) ],
data.table( COM_NAME= "Различные авто", K = sum( st[K < 9]$K) )
)
piedata
В результате мы получим список в порядке уменьшения по компаниям в зависимости от того, какое количество их автомобилей продается в автосалоне. Чтобы построить диаграмму, нужно выполнить этот скрипт:
pie <- ggplot(piedata, aes( x = "", y = K, fill = COM_NAME)) +
geom_bar(stat = "identity") +
coord_polar(theta = "y")
pie
В результате мы получим красивую цветную и информативную диаграмму. Помимо круговой диаграммы, можно вывести данные в ступенчатой диаграмме или тепловой карте — анализ данных в R позволяет визуализировать данные по-разному.
Вообще, количество разнообразных операций, которые выполняет язык программирования R при анализе данных, очень много.
Что еще может сделать R с данными?
R при работе с данными может:
их обрабатывать, очищать и преобразовывать для различных задач;
проводить разнообразные тесты;
выполнить разведочный анализ;
преобразовывать и работать с таблицами;
рисовать диаграммы и графики;
создавать интерактивные страницы;
и др.
Все эти возможности языка R открываются при использовании его дополнительных библиотек.
Заключение
Анализ данных в R происходит проще и четче, чем в любом другом подобном инструменте. R работает с данными из разных сфер, поэтому его можно использовать где угодно. Его огромный плюс — он имеет простой синтаксис и не сложен в изучении. Если сравнивать с тем же Python, то R изучить легче. Но отличие в том, что язык программирования R применяется только при работе с данными, в отличие от того же Python, который является языком программирования широкого применения.
Другое