ЗАДАНИЕ 1. Различия в оценках уверенности в нахождении заработка в случае потери актуального места работы (вопрос В21) в зависимости от образовательного уровня респондента (вопрос А6)
изначально стало непонятно, как считать: на “обработке данных” мы подобное делали через Мана-Уитни

подготовительные операции

library(BSDA)
## Загрузка требуемого пакета: lattice
## 
## Присоединяю пакет: 'BSDA'
## Следующий объект скрыт от 'package:datasets':
## 
##     Orange
library(distributions3)
## 
## Присоединяю пакет: 'distributions3'
## Следующий объект скрыт от 'package:stats':
## 
##     Gamma
## Следующий объект скрыт от 'package:grDevices':
## 
##     pdf
library(dplyr)
## 
## Присоединяю пакет: 'dplyr'
## Следующие объекты скрыты от 'package:stats':
## 
##     filter, lag
## Следующие объекты скрыты от 'package:base':
## 
##     intersect, setdiff, setequal, union
library(haven)
df<-read_sav("C:/Users/malya/Desktop/База_КлимРиск_2023.sav")

перекодировка высшего образования и среднего по работе

df<-df %>% 
  mutate(V6_obr=case_when(
    V6<=3 ~ "Без вышки",
    V6==4 | V6==5 ~ "С вышкой"
  ))
df<-df %>%
  rowwise() %>% 
  mutate(V21_mean=mean(V21!=99), na.rm = TRUE)
hist(df$V21_mean, col="steelblue")

и вот он какое-то среднее в 1.0 считает в работе, из-за этого в заданиях ничего не пойдет. Может быть, есть особые правила формирования пропущенных значений…

shapiro.test(df$V21_mean)
## 
##  Shapiro-Wilk normality test
## 
## data:  df$V21_mean
## W = 0.27427, p-value < 2.2e-16
t(psych::describe(df$V21_mean))
##                     X1
## vars       1.000000000
## n        725.000000000
## mean       0.931034483
## sd         0.253570427
## median     1.000000000
## trimmed    1.000000000
## mad        0.000000000
## min        0.000000000
## max        1.000000000
## range      1.000000000
## skew      -3.395032751
## kurtosis   9.539410895
## se         0.009417369

Шапиро показывает ненормальность, статистики по асимметрии плохие

если делать через t-тест

library(car)
## Загрузка требуемого пакета: carData
## 
## Присоединяю пакет: 'carData'
## Следующие объекты скрыты от 'package:BSDA':
## 
##     Vocab, Wool
## 
## Присоединяю пакет: 'car'
## Следующий объект скрыт от 'package:dplyr':
## 
##     recode
leveneTest(V21_mean~V6_obr, data = df)
## Warning in leveneTest.default(y = y, group = group, ...): group coerced to
## factor.
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)
## group   1   0.272 0.6022
##       720
t.test(V21_mean~V6_obr, data = df)
## 
##  Welch Two Sample t-test
## 
## data:  V21_mean by V6_obr
## t = 0.51772, df = 664.67, p-value = 0.6048
## alternative hypothesis: true difference in means between group Без вышки and group С вышкой is not equal to 0
## 95 percent confidence interval:
##  -0.02772653  0.04758343
## sample estimates:
## mean in group Без вышки  mean in group С вышкой 
##               0.9351621               0.9252336

различий в группах нет, т.к. на предыдущем этапе что-то пошло не так.

если делать через Мана-Уитни (я бы скорее делала так), то тоже нет различий

wilcox.test(V21_mean~V6_obr, data = df)
## 
##  Wilcoxon rank sum test with continuity correction
## 
## data:  V21_mean by V6_obr
## W = 65000, p-value = 0.6021
## alternative hypothesis: true location shift is not equal to 0

в этой связи графики либо вообще не строятся, либо медианы между группами 1.0. Это проблема в переменной, но я ее не решила…



анализ важности традиций по уровню образования и по самооценке материального положения (вопрос А10)
трансформация традиций V18 и доходов V10

df<-df %>%
  rowwise() %>% 
  mutate(V18_mean=mean(c_across(starts_with("V18")), na.rm = TRUE))
df<-df %>% 
  mutate(V10_bogat=case_when(
    V10<=2 ~ "низкие доходы",
    V10==3 ~ "средние доходы",
    V10>=4 ~ "высокие доходы"
  ))

традиции и образование - т-тест (раз считаем традиции нормой)

leveneTest(V18_mean~V6_obr, data = df)
## Warning in leveneTest.default(y = y, group = group, ...): group coerced to
## factor.
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)
## group   1  1.0933  0.296
##       871
t.test(V18_mean~V6_obr, data = df)
## 
##  Welch Two Sample t-test
## 
## data:  V18_mean by V6_obr
## t = 0.84909, df = 762.24, p-value = 0.3961
## alternative hypothesis: true difference in means between group Без вышки and group С вышкой is not equal to 0
## 95 percent confidence interval:
##  -0.05290047  0.13354244
## sample estimates:
## mean in group Без вышки  mean in group С вышкой 
##                3.461900                3.421579

нет разницы, скорее всего дело в переменной
традиции и деньги - краскела уолиса

kruskal.test(V18_mean ~ V10_bogat, data = df)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  V18_mean by V10_bogat
## Kruskal-Wallis chi-squared = 12.965, df = 2, p-value = 0.00153

ура, есть разница в группах

pairwise.wilcox.test(df$V18_mean, df$V10_bogat,  p.adjust.method = "BH")
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  df$V18_mean and df$V10_bogat 
## 
##                высокие доходы низкие доходы
## низкие доходы  0.0017         -            
## средние доходы 0.0267         0.0193       
## 
## P value adjustment method: BH

разница даже в трех группах между собой

library(ggstatsplot)
## You can cite this package as:
##      Patil, I. (2021). Visualizations with statistical details: The 'ggstatsplot' approach.
##      Journal of Open Source Software, 6(61), 3167, doi:10.21105/joss.03167
ggbetweenstats(
  df,
  x    = V10_bogat,
  y    = V18_mean,
  type = "non-parametric",
  xlab = "богатство"
)
## Warning in min(x): у 'min' нет не пропущенных аргументов; возвращаю Inf
## Warning in max(x): у 'max' нет не пропущенных аргументов; возвращаю -Inf

для людей с низкими доходами наиболее важно соблюдать традиции.