5 КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В АНАЛИЗЕ ДАННЫХ
Помощники в работе с большими данными R
Описание dplyr
dplyr - обеспечивает гибкую грамматику манипулирования данными. Это следующая итерация plyr, ориентированные на инструменты для работы с блоками данных (следовательно дабавляется, d в названии).
Детали
Она имеет три основные цели:
Определить наиболее важные манипулирования данными глаголами и сделать их легкими для использования в R.
Обеспечить пылающи высокую производительность для данных в оперативной памяти путем записи ключевых элементов в C ++ (с использованием Rcpp)
Используйте один и тот же интерфейс для работы с данными, независимо от того, где они хранятся, будь то в блоке данных, таблице данных или базе данных.
Применение
Все команды из пакета dplyr просты в понимании, так как их выполнение не требует особых знаний, главное учитывать правило написания. Например: "Команда( где лежат наши данные, что с ними сделать)". Далее рассмотрим некоторые команды по подробнее.
1) Команда tbl_df
Эта функция помогает с визуализацией больших таблиц данных, выводя только первые 10 строк, но при этом сообщая нам общий размер таблицы.
ir=tbl_df(iris) ir
Source: local data frame [150 x 5]
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
(dbl) (dbl) (dbl) (dbl) (fctr)
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
7 4.6 3.4 1.4 0.3 setosa
8 5.0 3.4 1.5 0.2 setosa
9 4.4 2.9 1.4 0.2 setosa
10 4.9 3.1 1.5 0.1 setosa
.. ... ... ... ... ...
2) Команда mutate
Данная функция позволяет добавить в таблицу новый вычисляемый столбец.
ir=mutate(ir,relsep=Sepal.Length/Sepal.Width) ir
Source: local data frame [150 x 6]
Sepal.Length Sepal.Width Petal.Length Petal.Width Species relsep
(dbl) (dbl) (dbl) (dbl) (fctr) (dbl)
1 5.1 3.5 1.4 0.2 setosa 1.457143
2 4.9 3.0 1.4 0.2 setosa 1.633333
3 4.7 3.2 1.3 0.2 setosa 1.468750
4 4.6 3.1 1.5 0.2 setosa 1.483871
5 5.0 3.6 1.4 0.2 setosa 1.388889
6 5.4 3.9 1.7 0.4 setosa 1.384615
7 4.6 3.4 1.4 0.3 setosa 1.352941
8 5.0 3.4 1.5 0.2 setosa 1.470588
9 4.4 2.9 1.4 0.2 setosa 1.517241
10 4.9 3.1 1.5 0.1 setosa 1.580645
.. ... ... ... ... ... ...
3) Команда select
Функция select позволяет вывести только те столбцы которые мы зададим.
select (ir,Species, relsep)
Source: local data frame [150 x 2]
Species relsep
(fctr) (dbl)
1 setosa 1.457143
2 setosa 1.633333
3 setosa 1.468750
4 setosa 1.483871
5 setosa 1.388889
6 setosa 1.384615
7 setosa 1.352941
8 setosa 1.470588
9 setosa 1.517241
10 setosa 1.580645
.. ... ...
4) Команда rename
Данная команда позволяет нам переименовывать любой столбец.
ir = rename (ir,plea= relsep) ir
Source: local data frame [150 x 6]
Sepal.Length Sepal.Width Petal.Length Petal.Width Species plea
(dbl) (dbl) (dbl) (dbl) (fctr) (dbl)
1 5.1 3.5 1.4 0.2 setosa 1.457143
2 4.9 3.0 1.4 0.2 setosa 1.633333
3 4.7 3.2 1.3 0.2 setosa 1.468750
4 4.6 3.1 1.5 0.2 setosa 1.483871
5 5.0 3.6 1.4 0.2 setosa 1.388889
6 5.4 3.9 1.7 0.4 setosa 1.384615
7 4.6 3.4 1.4 0.3 setosa 1.352941
8 5.0 3.4 1.5 0.2 setosa 1.470588
9 4.4 2.9 1.4 0.2 setosa 1.517241
10 4.9 3.1 1.5 0.1 setosa 1.580645
.. ... ... ... ... ... ...
5) Команда distinct
Функция distinct позволяет выводить только уникальные значения в каждом из нужных нам столбцов.
distinct (select(ir,Species,plea))
Source: local data frame [123 x 2]
Species plea
(fctr) (dbl)
1 setosa 1.457143
2 setosa 1.633333
3 setosa 1.468750
4 setosa 1.483871
5 setosa 1.388889
6 setosa 1.384615
7 setosa 1.352941
8 setosa 1.470588
9 setosa 1.517241
10 setosa 1.580645
.. ... ...
6) Команда arrange
Данная функция производит сортировку по условию, в данном случае по столбцу plea.
arrange(ir,plea)
Source: local data frame [150 x 6]
Sepal.Length Sepal.Width Petal.Length Petal.Width Species plea
(dbl) (dbl) (dbl) (dbl) (fctr) (dbl)
1 5.2 4.1 1.5 0.1 setosa 1.268293
2 4.6 3.6 1.0 0.2 setosa 1.277778
3 5.7 4.4 1.5 0.4 setosa 1.295455
4 5.5 4.2 1.4 0.2 setosa 1.309524
5 5.1 3.8 1.5 0.3 setosa 1.342105
6 5.1 3.8 1.9 0.4 setosa 1.342105
7 5.1 3.8 1.6 0.2 setosa 1.342105
8 4.6 3.4 1.4 0.3 setosa 1.352941
9 4.9 3.6 1.4 0.1 setosa 1.361111
10 4.4 3.2 1.3 0.2 setosa 1.375000
.. ... ... ... ... ... ...
6) Команда filter
Эта функция,позволяет выделить подмножество строк по заданнаму нами условию.
filter (ir,Species=="virginica", Sepal.Length > 5) Source: local data frame [49 x 6]
Sepal.Length Sepal.Width Petal.Length Petal.Width Species plea
(dbl) (dbl) (dbl) (dbl) (fctr) (dbl)
1 6.3 3.3 6.0 2.5 virginica 1.909091
2 5.8 2.7 5.1 1.9 virginica 2.148148
3 7.1 3.0 5.9 2.1 virginica 2.366667
4 6.3 2.9 5.6 1.8 virginica 2.172414
5 6.5 3.0 5.8 2.2 virginica 2.166667
6 7.6 3.0 6.6 2.1 virginica 2.533333
7 7.3 2.9 6.3 1.8 virginica 2.517241
8 6.7 2.5 5.8 1.8 virginica 2.680000
9 7.2 3.6 6.1 2.5 virginica 2.000000
10 6.5 3.2 5.1 2.0 virginica 2.031250
.. ... ... ... ... ... ...
7) Всё вместе
Так же все команды можно выполнять сразу, только указать где брать данные и через %>% перечеслять нужные нам функции.
ir %>% mutate ( plea =Sepal.Length/Sepal.Width) %>% select(Species, plea, Sepal.Length) %>% filter (Species=="virginica", plea > median(plea))
Source: local data frame [37 x 3]
Species plea Sepal.Length
(fctr) (dbl) (dbl)
1 virginica 2.148148 5.8
2 virginica 2.366667 7.1
3 virginica 2.172414 6.3
4 virginica 2.166667 6.5
5 virginica 2.533333 7.6
6 virginica 2.517241 7.3
7 virginica 2.680000 6.7
8 virginica 2.370370 6.4
9 virginica 2.266667 6.8
10 virginica 2.280000 5.7
.. ... ... ...
Применение ggplot2
Данный пакет служит для презентабельного представления данных в виде графиков. Рассмотрим несколько из таких функций.
1) Команда geom_histogram
В первой строке мы задаём данные и оси, во второй чем строить и вспомогательные функции, в данном случае это интервал ячеек в гистограмме.
gir = ggplot(data = ir, aes(x=plea)) gir + geom_histogram(binwidth=0.02, aes( fill=Species))
2) Команда geom_point
Данная функция позвоняет нанести точки на плоскоть и раскрасить в цвет в зависимости от условия.
gir3=ggplot(ir,aes(x=Sepal.Length,y=plea)) gir3 + geom_point(aes(color=Species))
3) Команда geom_boxplot
Позволяет построить "ящики с усами", по заданным параметрам.
gir3 + geom_boxplot(aes(x = Species)) + theme_bw() + labs(x="HI")