library(readr)
## Warning: пакет 'readr' был собран под R версии 4.5.2
library(haven)
## Warning: пакет 'haven' был собран под R версии 4.5.2
clima = read_sav(file.choose())
chisq.test(clima$V21, clima$education)
## 
##  Pearson's Chi-squared test
## 
## data:  clima$V21 and clima$education
## X-squared = 9.2574, df = 3, p-value = 0.02606

p-value (0.02606) < 0.05, следовательно, нулевая гипотеза отвергается. Есть статистически значимая связь между уровнем образования и уверенностью в нахождении заработка.

V21: 1 = Полностью уверен, 2 = Скорее уверен, 3 = Не очень уверен, 4 = Совсем не уверен education: 1 = Нет высшего, 2 = Высшее

library(vcd)
## Warning: пакет 'vcd' был собран под R версии 4.5.3
## Загрузка требуемого пакета: grid
options(OutDec = ",") 



clima$V21_label <- factor(clima$V21, 
                          levels = c(1, 2, 3, 4),
                          labels = c("Полностью уверен", 
                                     "Скорее уверен", 
                                     "Не очень уверен", 
                                     "Совсем не уверен"))

clima$education_label <- factor(clima$education, 
                                levels = c(1, 2),
                                labels = c("Нет высшего", "Высшее"))

#Создаем таблицу сопряженности с новыми метками 
M <- table(clima$V21_label, clima$education_label)

# Подписываем измерения таблицы
names(dimnames(M)) <- c("Уверенность в нахождении заработка", "Образование")

# Проверяем таблицу (теперь в ней текст, а не цифры)
print(M)
##                                   Образование
## Уверенность в нахождении заработка Нет высшего Высшее
##                   Полностью уверен          73     82
##                   Скорее уверен             73     92
##                   Не очень уверен           74     48
##                   Совсем не уверен          67     55
#  Расчет процентов для подписей в ячейках 
# Проценты считаем по столбцам (margin = 2), чтобы видеть распределение внутри каждой группы образования
labs <- round(prop.table(M, margin = 2) * 100, 1)
# Превращаем в матрицу с символом процента
labs <- matrix(paste(labs, "%", sep = ""), nrow = nrow(labs), dimnames = dimnames(labs))

# Построение мозаичной диаграммы ---
# Устанавливаем параметры для лучшего отображения длинных подписей
par(mar = c(4, 4, 4, 8)) # Увеличиваем правое поле для легенды

mosaic(M, 
       pop = FALSE,      # Убираем таблицу популяции
       shade = TRUE,     # Подсвечиваем значимые отклонения
       direction = "v",  # Вертикальное разделение сначала по образованию
       main = "Уверенность в трудоустройстве в зависимости от образования",
       labeling_args = list(
         # Поворачиваем подписи уровней уверенности, чтобы они не налезали друг на друга
         rot_labels = c(30, 0, 0, 30), 
         just_labels = "left",
         offset_labels = c(0, 0, 0, 1)
       ))

#Добавлениепроцентов внутрь ячеек 
# Функция для размещения текста в центре каждой ячейки
labeling_cells(text = labs, 
               margin = 0, 
               gp_text = gpar(cex = 1.2, fontface = "bold", col = "white"))(M)

par(mar = c(5, 4, 4, 2) + 0.1)

Респонденты с высшим образованием значимо чаще сообщали о полной или частичной уверенности в возможности найти новую работу

assoc(M, 
      shade = TRUE, 
      main = "Ассоциативный график: Отклонения от ожидаемой частоты",
      labeling = labeling_border(rot_labels = c(30, 0, 0, 0)))

Размер блока отражает частоту ответов в каждой категории. люди с высшим образованием более уверены в нахождении работы.

wilcox.test(V21~education, data = clima)
## 
##  Wilcoxon rank sum test with continuity correction
## 
## data:  V21 by education
## W = 43706, p-value = 0,03438
## alternative hypothesis: true location shift is not equal to 0

U-критерий Манна-Уитни

p-value = 0.034 < 0.05 → нулевая гипотеза об отсутствии различий отклоняется.

Между группами “Нет высшего” и “Высшее” существуют статистически значимые различия в оценке уверенности трудоустройства.