Добавил:
По своей натуре перфекционист. Поэтому люблю все аккуратно оформлять и упорядочивать, складывать по полочкам. Вот, не пропадать же добру, нажитому за четыре кропотливых семестра. Тут я выложил все мои ответы, курсовые, отчеты и некоторые ДЗ. Они могут вам помочь для получения зачета или сдачи экзамена. Если чего-то не нашли в папочках, то попытайте удачу в разделе НЕОТСОРТИРОВАННОЕ на моей страничке, там все 4 семестра разложены по папкам. ГРУППА КТ-43-15. Годы обучения 2015-2019. Коллекция будет пополняться. Что ж, удачки :З Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

R Language (Сковорцов) / Анализ данных на языке R

.pdf
Скачиваний:
224
Добавлен:
15.09.2017
Размер:
451.1 Кб
Скачать

18. Динамическая визуализация с plotly

library(data.table)

library(plotly)

purchases <- fread("purchases.csv")

price.hist <- ggplot(purchases) + geom_histogram(aes(totalcents), fill="white", color="black") + scale_x_log10("Item price", labels = function(x) {

format(x / 100, scientific = F, big.mark = " ") }) +

ylab("Times purchased")

interactive.price.hist <- ggplotly(price.hist)

interactive.price.hist

5. Анализ номинативных данных

Все используемые файлы доступны по ссылке: https://goo.gl/VSIZ9c.

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

В R есть несколько инструментов для работы с такими типами данных. Для начала загрузим новый датасет:

df <- read.csv("grants.csv")

str(df) df

Проверив его структуру, мы заметим, что в столбце “status” у нас содержатся нули и единицы. Заменим их на что-то более удобоваримое.

df$status <- factor(df$status, labels = c("Not funded", "Funded"))

Перейдем к анализу наших номинативных данных. Первое, что мы можем сделать, это построить сводную таблицу. Сводные таблицы, показывают сколько раз встречаются номинативные данные. Сводные таблицы бывают одномерные (по одной переменной): t1 <- table(df$status)

t1

dim(t1)

Двумерные (по двум переменным):

t2 <- table(df$status, df$field)

t2

t2 <- table(status = df$status, field = df$field)

dim(t2)

Трехмерные (по трем переменным):

t3 <- table(Years = df$years_in_uni, Field = df$field, Status = df$status)

t3

dim(t3)

Команда dimnames() позволит нам посмотреть, какие измерения есть в таблице и как они называются.

dimnames(t3)

Кроме того, мы можем выводить нужные нам данные, основываясь на их именах. Например, вывести только поддержанные или неподдержанные заявки на гранты:

t3 [,,"Funded"]

В сводных таблицах можно высчитывать пропорции. Для этого используется функция prop.table(), первым аргументом которого

является название сводной таблицы, а вторым – как будет происходить высчитывание пропорций: по строке, столбцу или категории:

prop.table(t3, 1) prop.table(t3, 2) prop.table(t3, 3)

Кроме сводных таблиц, для представления номинативных данных удобно использовать диаграммы:

barplot(t1)

barplot(t2)

barplot(t2, legend.text = TRUE, args.legend = list(x = "topright"))

barplot(t2, legend.text = TRUE, args.legend = list(x = "topright"), beside = TRUE)

Поговорим о нескольких видах статистических тестов для категориальных переменных. Первым из них будет биномиальный тест. Он показывает какова вероятность выполнения предполагаемой гипотезы при двух возможных исходах. Например, подбросим монетку 20 раз и предположим, что 5 из них выпал орел, а остальные – решка. Вероятность выпадения орла или решки 50%:

binom.test(x = 5, n = 20, p = 0.5)

binom.test(t1)

Второй тест – хи-квадрат Пирсона.

t1

chisq.test(t1)

Результатом выполнения хи-квадрата является список. К элементам этого списка тоже можно обращаться.

chi <- chisq.test(t1) chi$exp

chi$obs t2

chisq.test(t2)

Третьим статистическим тестом станет точный критерий Фишера.

fisher.test(t2)

Задание 5.1. Из встроенной таблицы HairEyeColor в переменную red_men сохранить долю рыжеволосых (Red) от общего числа голубоглазых мужчин.

Задание 5.2. Постройте столбчатую диаграмму распределения цвета глаз по цвету волос только у женщин из

таблицы HairEyeColor. По оси X должен идти цвет волос, цвет столбиков должен отражать цвет глаз. По оси Y - количество наблюдений.

Чтобы построить столбчатую диаграмму в ggplot, вам нужно подключить нужный пакет, затем преобразовать таблицу

HairEyeColor в data frame:

mydata <- as.data.frame(HairEyeColor)

Дополните предложенный код:

Соседние файлы в папке R Language (Сковорцов)