url <- "https://raw.githubusercontent.com/underckit/SuicideRates/master/master.csv"
SuicideRates <- read.csv(url)
## corrplot 0.84 loaded
x <- SuicideRates[c(2, 5, 6, 7, 11)]
y <- SuicideRates[c(2, 5, 6, 7, 11)]
cor(x, y)
## year suicides_no population suicides.100k.pop
## year 1.000000000 -0.004545958 0.008850170 -0.039036797
## suicides_no -0.004545958 1.000000000 0.616162268 0.306604451
## population 0.008850170 0.616162268 1.000000000 0.008284973
## suicides.100k.pop -0.039036797 0.306604451 0.008284973 1.000000000
## gdp_per_capita.... 0.339134280 0.061329749 0.081509858 0.001785134
## gdp_per_capita....
## year 0.339134280
## suicides_no 0.061329749
## population 0.081509858
## suicides.100k.pop 0.001785134
## gdp_per_capita.... 1.000000000
## Выбросы данных
library(ggplot2)
ggplot(SuicideRates, aes(suicides_no, factor(year))) + geom_boxplot()
Значения с критическим отклонением считаем ошибочными и удаляем их.
condition1<-SuicideRates[,5]<=160
SuicideRates<-SuicideRates[condition1,]
Наблюдаем изменение на графике.
ggplot(SuicideRates, aes(suicides_no, factor(year))) + geom_boxplot()
##Нормальное распределение В качестве тестируемой характеристики выступит смертность .
####График плотности
ggplot(SuicideRates, aes(x=suicides_no)) + geom_density()
####График QQ график QQ (или график квантиль-квантиль) показывает корреляцию между данным образцом и нормальным распределением. Также наносится контрольная линия под углом 45 градусов.
library(ggpubr)
ggqqplot(SuicideRates$suicides_no)
####Гистограмма
hist(SuicideRates$suicides_no, main = "Histogram of suicides", col = "tomato", freq = FALSE)
curve(dnorm(x, mean = mean(SuicideRates$suicides_no, na.rm = TRUE),
sd = sd(SuicideRates$suicides_no, na.rm = TRUE)),
col = "blue", lwd = 2, add = TRUE)
####Тест Шапиро-Уилка Так как для теста Шапиро-Уилка массив данных слишком велик, тестироваться будет лишь участок.
z<-SuicideRates[1:5000, 1:12]
shapiro.test(z$suicides_no)
##
## Shapiro-Wilk normality test
##
## data: z$suicides_no
## W = 0.72432, p-value < 2.2e-16
p-value<0.05 ####Тест Андерсона-Дарлинга
library(nortest)
ad.test(SuicideRates$suicides_no)
##
## Anderson-Darling normality test
##
## data: SuicideRates$suicides_no
## A = 1955, p-value < 2.2e-16
p-value<0.05 ####Тест Крамера фон Мизеса
cvm.test(SuicideRates$suicides_no)
## Warning in cvm.test(SuicideRates$suicides_no): p-value is smaller than 7.37e-10,
## cannot be computed more accurately
##
## Cramer-von Mises normality test
##
## data: SuicideRates$suicides_no
## W = 355.62, p-value = 7.37e-10
p-value<0.05 ####Тест Колмогорова-Смирнова в модификации Лиллиефорса
lillie.test(SuicideRates$suicides_no)
##
## Lilliefors (Kolmogorov-Smirnov) normality test
##
## data: SuicideRates$suicides_no
## D = 0.22729, p-value < 2.2e-16
p-value<0.05 ####Критерий хи-квадрат Пирсона
pearson.test(SuicideRates$suicides_no)
##
## Pearson chi-square normality test
##
## data: SuicideRates$suicides_no
## P = 115044, p-value < 2.2e-16
p-value<0.05 ####Тест Шапиро-Франсия
sf.test(z$suicides_no)
##
## Shapiro-Francia normality test
##
## data: z$suicides_no
## W = 0.72453, p-value < 2.2e-16
-value < 0.05
На имеющихся данных на уровне значимости 5% (0.05) есть основания отвергнуть нулевую гипотезу о том, что данные распределены нормально. Показатель смертности не распределён нормально.
##Распределение хи-квадрат
chisq.test(SuicideRates$suicides_no)
##
## Chi-squared test for given probabilities
##
## data: SuicideRates$suicides_no
## X-squared = 1135407, df = 21607, p-value < 2.2e-16
##Проверка на пропуски
SuicideRates <- any(is.na(SuicideRates))
Пропущенных значений не обнаружено.