Pre-analysis
library(readr) #для выгрузки данных
library(readxl) #для выгрузки данных
library(ggplot2) #для графиков
library(plotly) #для графиков
library(dplyr) #для работы с данными
library(stringr) #для работы с текстом
library(scales) #для работы с масштабом в графиках
library(tidyverse) # для работы с текстом
library(tidytext) # для работы с текстом
library(stopwords) # для работы с текстом
library(lubridate) # для работы с текстом
library(textstem) # для работы с текстом
df = read_csv("airplane2.csv")
df = df[complete.cases(df[, c(4, 9, 12)]), ]
df$Fatalities = as.numeric(df$Fatalities)
df$Aboard = as.numeric(df$Aboard)
names(df)[12] = "Aboard_Crew"
names(df)[15] = "Fatalities_Crew"
df$Fatalities_Crew = as.numeric(df$Fatalities_Crew)
df$Aboard_Crew = as.numeric(df$Aboard_Crew)
Student’s t-test for military and commercial flights
operator_wise <- df %>%
group_by(Operator) %>%
summarize(n = n()) %>%
arrange(desc(n))
df$fat_rate = df$Fatalities/df$Aboard
df$crew_fat_rate = df$Fatalities_Crew/df$Aboard_Crew
force <- df %>%
filter(str_detect(Operator, '[Mm]ilitary')) %>%
mutate(op = str_replace_all(Operator, 'Military ?-? ?', '')) %>%
group_by(op) %>%
summarize(fat_rate = mean(fat_rate), crew_fat_rate = mean(crew_fat_rate, na.rm = T)) %>%
arrange(desc(fat_rate))
commercial <- df %>%
mutate(main_op = str_replace_all(Operator, ' -.*', '')) %>%
filter(!str_detect(main_op, '[Mm]ilitary')) %>%
filter(!str_detect(main_op, 'Private')) %>%
group_by(main_op) %>%
summarize(fat_rate = mean(fat_rate), crew_fat_rate = mean(crew_fat_rate, na.rm = T)) %>%
arrange(desc(fat_rate)) %>%
filter(main_op>'A')
## `summarise()` ungrouping output (override with `.groups` argument)
t.test(force$fat_rate, commercial$fat_rate)
##
## Welch Two Sample t-test
##
## data: force$fat_rate and commercial$fat_rate
## t = 10.807, df = 303.59, p-value < 2.2e-16
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## 0.1136848 0.1643017
## sample estimates:
## mean of x mean of y
## 0.9412886 0.8022953
Отвергаем нулевую гипотезу на уровне 1%. Значит между военными и коммерческими операторами есть различия в смертности во время крушения. То есть тип оператора является фактором влияющим на смертность. Можно видеть что вреди военных полетов смертность выше.
## Доля военных полетов со смертностью 1: 0.6583851
## Доля военных полетов со смертностью экипажа 1: 0.7391304
Показатели смертности среди военных рейсов выше, чем среди коммерческих – в 2/3 инцидентов смертность составила 1. Такую высокую смертность в каждом отдельном случае можно обяснить тем, что в экипаж военного самолета входит обычно до 4 человек, а пассажиров как правило нет. Таким образом, шанс того, что в происшествии выживет хотя бы один человек мала относительно коммерческих рейсов. Это доказывает доля происшествий с участием военных самолетов в которых погиб весь экипаж – 70%.
Student’s t-test for accidents on water and on land
df_on_water = read_excel("data_coord_watter.xlsx")
df_on_water$fat_rate = df_on_water$Fatalities / df_on_water$Aboard
boxplot(fat_rate ~ on_water, data = df_on_water)
df_on_water = df_on_water[complete.cases(df_on_water), ]
means1 <- tapply(df_on_water$fat_rate, df_on_water$on_water, mean)
points(means1,col="red",pch=18)
t.test(df_on_water$fat_rate ~ df_on_water$on_water, mu = 0,
alt='two.sided', paired = F, var.eq = F, conf = 0.95)
##
## Welch Two Sample t-test
##
## data: df_on_water$fat_rate by df_on_water$on_water
## t = -2.4412, df = 185.14, p-value = 0.01558
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -0.10073115 -0.01068706
## sample estimates:
## mean in group 0 mean in group 1
## 0.8102475 0.8659566
## Доля катастроф на суше со смертностью 1: 0.6291785
##
## Доля катастроф на воде со смертностью 1: 0.7619048
Отклоняем нулевую гипотезу на уровне 5%. Таким образом взаимосвязь между типом места крушения и показателем смертности статистически значима. Можно видеть, что как доля катастроф с показателем смертности 1, так и средний показатель смертности, выше для происшествий произошедших на воде (на 15% и 5% соответственно). Графически эта взамосвязь представлена на графике выше. Таким образом, шансы выжить, если крушение произойдет на воде, ниже по сравнению с катастрофой которая случится на суше.
ANOVA continents pairwise-comparisons
df_cont = read_excel("data_continents_fatal.xlsx")
## New names:
## * `` -> ...1
df_cont = df_cont[complete.cases(df_cont), ]
boxplot(fat_rate ~ continent, data = df_cont)
means2 <- tapply(df_cont$fat_rate,df_cont$continent,mean)
points(means2,col="red",pch=18)
ANOVA = aov(fat_rate ~ continent, data = df_cont)
summary(ANOVA)
## Df Sum Sq Mean Sq F value Pr(>F)
## continent 5 0.52 0.1038 1.043 0.391
## Residuals 2707 269.35 0.0995
Tukey multiple continents pairwise-comparisons
TukeyHSD(ANOVA)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = fat_rate ~ continent, data = df_cont)
##
## $continent
## diff lwr upr p adj
## Asia-Africa -0.0290379218 -0.10111768 0.04304183 0.8607554
## Europe-Africa -0.0289200229 -0.10118217 0.04334212 0.8640888
## North America-Africa -0.0248639939 -0.09320538 0.04347739 0.9052943
## Oceania-Africa 0.0432946861 -0.07473885 0.16132822 0.9022468
## South America-Africa -0.0160329481 -0.09620322 0.06413733 0.9929265
## Europe-Asia 0.0001178988 -0.05263988 0.05287567 1.0000000
## North America-Asia 0.0041739279 -0.04307129 0.05141915 0.9998626
## Oceania-Asia 0.0723326078 -0.03487504 0.17954026 0.3874883
## South America-Asia 0.0130049736 -0.05015228 0.07616223 0.9919007
## North America-Europe 0.0040560290 -0.04346698 0.05157904 0.9998841
## Oceania-Europe 0.0722147090 -0.03511565 0.17954507 0.3907438
## South America-Europe 0.0128870748 -0.05047825 0.07625240 0.9923525
## Oceania-North America 0.0681586800 -0.03657209 0.17288945 0.4299082
## South America-North America 0.0088310458 -0.05002380 0.06768589 0.9981822
## South America-Oceania -0.0593276342 -0.17213394 0.05347867 0.6644511
Дисперсионный анализ и критерий Тьюки показали что показатели смертности не зависят от того, на каком континенте произошел инцидент, то есть данный фактор не является значимым.