Практикум по теме «Сравнение трех и более групп». Решения.

Задание 1

Загрузите данные по пассажирам «Титаника» в R.

titan <- read.csv("https://raw.githubusercontent.com/allatambov/Py-programming-3/master/28-05/Titanic.csv")

# уберем строки с пропущенным портом
titan <- titan[titan$Embarked != "",]

Задание 2

Постройте гистограммы для стоимости билета (переменная Fare) по группам в зависимости от того, в каком порту пассажиры взошли на борт «Титаника» (переменная Embarked). Подберите подходящий шаг (при необходимости). Приведите код R. Можно ли считать, что распределение Fare по группам является нормальным?

library(ggplot2)
## Warning: package 'ggplot2' was built under R version 3.5.2
ggplot(data = titan, aes(x = Fare)) + geom_histogram(binwidth = 50) + facet_wrap(~Embarked)

Нет, нельзя. Во всех группах распределение несимметричное, очень скошенное.

Задание 3

Проверьте формально (с помощью критерия), является ли распределение Fare по группам нормальным. Приведите код R и ваши выводы.

# сохраняем в различные датасеты
titC <- titan[titan$Embarked == 'C',]
titS <- titan[titan$Embarked == 'S',]
titQ <- titan[titan$Embarked == 'Q',]

# проверяем с помощью критерия Шапиро-Уилка
shapiro.test(titC$Fare)
## 
##  Shapiro-Wilk normality test
## 
## data:  titC$Fare
## W = 0.61764, p-value < 2.2e-16
shapiro.test(titS$Fare)
## 
##  Shapiro-Wilk normality test
## 
## data:  titS$Fare
## W = 0.58251, p-value < 2.2e-16
shapiro.test(titQ$Fare)
## 
##  Shapiro-Wilk normality test
## 
## data:  titQ$Fare
## W = 0.43638, p-value = 1.151e-15

Во всех трех случаях гипотеза о нормальности отвергается (p-value близко к нулю).

Задание 4

Постройте ящики с усами для стоимости билета (переменная Fare) по группам в зависимости от того, в каком порту пассажиры взошли на борт «Титаника» (переменная Embarked). Приведите код R. В какой группе стоимость билета, в среднем, выше?

ggplot(data = titan, aes(y = Fare)) + geom_boxplot() + facet_wrap(~Embarked)

В первой группе, порт C. Очень много выбросов, если бы стояла задача удалить нетипичные наблюдения, мы бы обязательно это сделали.

Задание 5

В соответствии с результатами, полученными в заданиях выше, выберите подходящий критерий для сравнения стоимости билетов у пассажиров, взошедших на борт «Титаника» в разных портах. Приведите код R. Сделайте выводы.

Так как распределение показателя в группах не является нормальным, используем критерий Краскела-Уоллиса:

kruskal.test(titan$Fare ~ titan$Embarked)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  titan$Fare by titan$Embarked
## Kruskal-Wallis chi-squared = 74.404, df = 2, p-value < 2.2e-16

Значение статистики критерия, которое имеет распределение хи-квадрат, равно 74.404 (к слову, никогда не может быть отрицательным). Распределение хи-квадрат, которое имеет эта статистика, имеет две степени свободы (число групп минус 1). P-value примерно равно нулю, а значит, на любом уровне значимости том, что выборки взяты из одного распределения.