Техническая информация и библиотеки

rm(list = ls())
date()
## [1] "Sun Jan 12 01:05:47 2025"
sessionInfo()
## R version 4.4.2 (2024-10-31)
## Platform: x86_64-apple-darwin20
## Running under: macOS Ventura 13.7.2
## 
## Matrix products: default
## BLAS:   /Library/Frameworks/R.framework/Versions/4.4-x86_64/Resources/lib/libRblas.0.dylib 
## LAPACK: /Library/Frameworks/R.framework/Versions/4.4-x86_64/Resources/lib/libRlapack.dylib;  LAPACK version 3.12.0
## 
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
## 
## time zone: Europe/Moscow
## tzcode source: internal
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## loaded via a namespace (and not attached):
##  [1] digest_0.6.36     R6_2.5.1          fastmap_1.2.0     xfun_0.46        
##  [5] cachem_1.1.0      knitr_1.48        htmltools_0.5.8.1 rmarkdown_2.27   
##  [9] lifecycle_1.0.4   cli_3.6.3         sass_0.4.9        jquerylib_0.1.4  
## [13] compiler_4.4.2    rstudioapi_0.16.0 tools_4.4.2       evaluate_0.24.0  
## [17] bslib_0.7.0       yaml_2.3.9        rlang_1.1.4       jsonlite_1.8.8
library(knitr)
library(ggplot2)
library(dplyr)
library(tidyr)

library(psych)

Описание переменных

Общие данные
SchoolType − школа - спец 2, сош - 1
subject_id − номер
School − школа
Class − класс
Gender − пол (1-м,2-д)
Age − возраст

Шкала психологического благополучия Рифф (W)
WellBeing − Психологическое благополучие
W_PositiveRel − Позитивные отношения
W_Autonomy − Автономия
W_EnvMastery − Управление средой
W_PersGrowth − Личностный рост
W_PurposeLife − Цели в жизни
W_SelfAcceptance − Самопринятие

Субъективное благополучие (SW)
SubWellBeing − Субъективное благополучие
SW_Napryazhennost − Напряженность и чувствительность
SW_PsyEmocionalnyj − Признаки, сопровождающие основную психоэмоциональную симптоматику
SW_Nastroenie − Изменения настроения
SW_SocOkruzh − Значимость социального окружения
SW_Zdorove − Самооценка здоровья
SW_UdovletvDeyateln − Степень удовлетворенности повседневной деятельностью

Психологическая безопасность (PB)
PB_1 - 1. Как Вы думаете, требует ли обучение в Вашей школе постоянного совершенствования Ваших возможностей? PB_2 - 2 Оцените свою школу PB_3 - 3 Если бы переехали в другой район города, стали бы ездить на учебу в свою школу? PB_4a - 4а 4. Считаете ли Вы, что обучение в школе помогает развитию: a) Интеллектуальных способностей PB_4b - 4б b) Жизненных умений и навыков PB_5 - 5 5. Если бы пришлось выбирать из всех школ района, выбрали ли бы Вы свою? PB_6 - 6 Какое настроение чаще всего бывает у Вас в школе? PB_7a - 07аВзаимоотношения с учителями PB_7b - 07бВзаимоотношения с учениками PB_7c - 07в Возможность высказать свою точку зрения PB_7d - 07г Уважительное отношение к себе PB_7e - 07д Сохранение личного достоинства PB_7f - 07.е Возможность обратиться за помощью PB_7g - 07ж Возможность проявлять инициативу, активность PB_7h - 07з Учет личных проблем и затруднений PB_8 - 8 8. Считает ли Вы свое обучение в школе интересным? PB_9-1a - 9.1а2. Защищенность от:Публичного унижения/оскорблений одноклассниками PB_9-1b - 9.1б Публичного унижения/оскорблений учителями PB_9-2a - 9.2а Угроз одноклассников PB_9-2b - 9.2б Угроз учителей PB_9-3a - 9.3а Того, что заставят делать что-либо против Вашего желания одноклассники PB_9-3b - 9.3б 4. Того, что заставят делать что-либо против Вашего желания учителя PB_9-4a - 9.4а Игнорирования одноклассниками PB_9-4b - 9.4б Игнорирования учителями PB_9-5a - 9.5а Недоброжелательного отношения одноклассники PB_9-5b - 9.5б 6. Недоброжелательного отношения учителя PB_10 - 10 Предположим, что по каким-то причинам Вы долго не могли посещать школу, вернулись бы Вы на свое прежнее место учебы?

PB_Attitude - Отношение к образовательной среде
PB_Satisfaction - Удовлетворенность значимыми характеристиками образовательной среды
PB_Security - Защищенность от психологического насилия во взаимодействии

Опросник самоотношения (SO)
SO_S-GlobSamootnoshenie − Шкала S (глобальное самоотношение)
SO_I-Samouvazhenie − Шкала самоуважения (I)
SO_II-Autosimpatiya − Шкала аутосимпатии (II)
SO_III-OzhidOtnoshenie − Шкала ожидаемого отношения от других (III)
SO_IV-Samointeres − Шкала самоинтересов (IV)

SO_1-Samouverennost − Шкала самоуверенности
SO_2-OtnoshenieDrugih − Шкала отношения других
SO_3-Samoprinyatie − Шкала самопринятия
SO_4-Samorukovodstvo − Шкала саморуководства
SO_5-Samoobvinenie − Шкала самообвинения
SO_6-Samointeres − Шкала самоинтереса
SO_7-Samoponimanie − Шкала самопонимания

Способы совладающего поведения (SP)
SP_Konfrontaciya − Конфронтация
SP_Distancirovanie − Дистанцирование
SP_Samokontrol − Самоконтроль
SP_PoiskCocPodderzhki − Поиск социальной поддержки
SP_PrinyatieOtvetstv − Принятие ответственности
SP_BegstvoIzbeganie − Бегство-избегание
SP_Planirovanie − Планирование решения проблемы
SP_PolPereocenka − Положительная переоценка

Тест жизнестойкости (ZhS)
ZhS_Vovlechennost − Вовлеченность
ZhS_Kontrol − Контроль
ZhS_PrinyatieRiska − Принятие риска
ZhS_ZHiznestojkost − Жизнестойкость

Стили познания (P)
P_AbstractConcept − Абстрактная концептуализация
P_Active Experim − Активное экспериментирование
P_ConcrExperien − Конкретный опыт
P_ReflectObserv − Рефлексивное наблюдение

Импорт данных и первичная проверка

Data <- read.delim2("../Data/Sosh+SpecSchool.tsv", na.strings = c("", "-"))

Data$Gender <- factor(Data$Gender, levels = c(1,2), labels = c("М", "Ж"), ordered = FALSE)
Data$SchoolType <- factor(Data$SchoolType, levels = c(1, 2), labels = c("SOSh", "Spec"),  ordered = FALSE)

str(Data)
## 'data.frame':    584 obs. of  78 variables:
##  $ SchoolType             : Factor w/ 2 levels "SOSh","Spec": 2 2 2 2 2 2 2 2 2 2 ...
##  $ subject_id             : chr  "115" "116" "117" "118" ...
##  $ School                 : chr  "225" "225" "225" "225" ...
##  $ Class                  : chr  "8Б" "8Б" "8Б" "8Б" ...
##  $ Gender                 : Factor w/ 2 levels "М","Ж": 2 1 1 2 1 1 1 2 2 2 ...
##  $ Age                    : int  14 14 15 14 14 15 15 14 14 14 ...
##  $ WellBeing              : int  342 178 264 369 325 422 291 324 341 317 ...
##  $ W_PositiveRel          : int  57 34 45 66 62 61 62 51 62 50 ...
##  $ W_Autonomy             : int  48 26 45 43 61 77 43 50 64 50 ...
##  $ W_EnvMastery           : int  43 40 40 54 39 73 46 51 42 43 ...
##  $ W_PersGrowth           : int  70 37 56 79 52 59 57 75 64 71 ...
##  $ W_PurposeLife          : int  66 27 47 67 57 80 54 57 48 53 ...
##  $ W_SelfAcceptance       : int  58 14 31 60 54 72 29 40 61 50 ...
##  $ SubWellBeing           : int  90 40 48 78 55 91 59 58 62 70 ...
##  $ SW_Napryazhennost      : int  11 11 13 14 8 10 13 9 8 13 ...
##  $ SW_PsyEmocionalnyj     : int  16 7 9 18 12 20 11 12 10 18 ...
##  $ SW_Nastroenie          : int  12 5 5 11 8 13 7 9 9 10 ...
##  $ SW_SocOkruzh           : int  21 10 12 16 11 18 16 9 12 12 ...
##  $ SW_Zdorove             : int  13 4 4 6 13 10 3 6 8 10 ...
##  $ SW_UdovletvDeyateln    : int  17 3 5 13 3 20 9 13 15 7 ...
##  $ PB_1                   : int  2 2 2 2 2 2 2 2 2 2 ...
##  $ PB_2                   : int  2 2 2 2 0 2 2 0 2 0 ...
##  $ PB_3                   : int  2 2 2 2 0 0 2 2 0 2 ...
##  $ PB_4a                  : int  2 2 2 2 2 2 2 2 2 2 ...
##  $ PB_4b                  : int  2 2 0 0 1 1 0 2 0 0 ...
##  $ PB_5                   : chr  "0" "2" "2" "2" ...
##  $ PB_6                   : int  2 1 1 2 1 2 2 2 0 2 ...
##  $ PB_7a                  : int  3 5 3 5 3 5 4 3 5 4 ...
##  $ PB_7b                  : int  5 4 3 5 3 5 5 3 5 5 ...
##  $ PB_7c                  : int  4 2 4 4 3 5 3 NA 4 5 ...
##  $ PB_7d                  : int  4 4 4 4 2 5 3 2 3 5 ...
##  $ PB_7e                  : chr  "3" "5" "4" "4" ...
##  $ PB_7f                  : chr  "5" "2" "3" "4" ...
##  $ PB_7g                  : chr  "5" "5" "4" "4" ...
##  $ PB_7h                  : int  5 3 3 3 3 5 5 4 5 4 ...
##  $ PB_8                   : int  2 0 2 2 0 2 2 2 2 2 ...
##  $ PB_9.1a                : int  4 3 4 4 3 4 4 4 5 4 ...
##  $ PB_9.1b                : int  5 5 4 5 3 5 5 4 5 4 ...
##  $ PB_9.2a                : int  3 4 4 5 4 4 4 3 5 4 ...
##  $ PB_9.2b                : int  2 1 3 4 1 4 5 4 4 4 ...
##  $ PB_9.3a                : int  3 2 4 5 3 2 5 4 5 4 ...
##  $ PB_9.3b                : int  4 3 4 5 3 4 3 2 5 4 ...
##  $ PB_9.4a                : int  5 5 4 5 3 5 3 5 5 4 ...
##  $ PB_9.4b                : int  5 4 4 5 1 4 3 5 4 4 ...
##  $ PB_9.5a                : int  5 1 3 5 3 4 3 2 4 4 ...
##  $ PB_9.5b                : int  4 2 4 5 4 2 3 4 5 4 ...
##  $ PB_10                  : int  1 2 2 2 2 0 1 0 2 0 ...
##  $ PB_Attitude            : int  6 6 5 8 1 5 7 5 6 7 ...
##  $ PB_Satisfaction        : num  4.3 3.8 3.5 4.3 2.8 5 4 2.6 4.25 4.5 ...
##  $ PB_Security            : num  3.7 3 3.8 4.8 2.8 3.8 3.8 3.7 4.7 4 ...
##  $ SO_S.GlobSamootnoshenie: int  19 15 10 15 16 20 11 19 17 20 ...
##  $ SO_I.Samouvazhenie     : int  9 8 5 9 6 13 4 11 7 6 ...
##  $ SO_II.Autosimpatiya    : int  8 8 2 9 9 7 2 9 10 11 ...
##  $ SO_III.OzhidOtnoshenie : int  7 7 3 8 9 8 5 7 8 10 ...
##  $ SO_IV.Samointeres      : int  7 4 4 4 6 8 5 6 7 8 ...
##  $ SO_1.Samouverennost    : int  4 6 3 5 6 5 1 3 3 5 ...
##  $ SO_2.OtnoshenieDrugih  : int  5 3 2 6 4 4 4 4 6 7 ...
##  $ SO_3.Samoprinyatie     : int  4 2 0 7 6 5 1 5 7 6 ...
##  $ SO_4.Samorukovodstvo   : int  5 4 2 5 1 5 4 4 5 4 ...
##  $ SO_5.Samoobvinenie     : int  4 4 6 4 6 5 8 2 6 4 ...
##  $ SO_6.Samointeres       : int  7 5 2 5 7 7 5 5 6 7 ...
##  $ SO_7.Samoponimanie     : int  3 1 2 1 1 3 2 6 3 2 ...
##  $ SP_Konfrontaciya       : num  50 61.1 77.8 33.3 61.1 50 44.4 61.1 44.4 50 ...
##  $ SP_Distancirovanie     : num  72.2 38.9 66.7 38.9 55.6 27.8 61.1 66.7 66.7 66.7 ...
##  $ SP_Samokontrol         : num  61.9 57.1 81 61.9 47.6 76.2 90.5 81 66.7 66.7 ...
##  $ SP_PoiskCocPodderzhki  : num  66.7 27.8 66.7 66.7 38.9 27.8 66.7 44.4 50 44.4 ...
##  $ SP_PrinyatieOtvetstv   : num  58.3 91.7 91.7 83.3 50 75 100 41.7 83.3 50 ...
##  $ SP_BegstvoIzbeganie    : num  54.2 75 62.5 25 54.2 29.2 37.5 45.8 62.5 62.5 ...
##  $ SP_Planirovanie        : num  88.9 50 44.4 55.6 44.4 77.8 77.8 66.7 66.7 44.4 ...
##  $ SP_PolPereocenka       : num  90.5 23.8 66.7 61.9 42.9 76.2 61.9 57.1 47.6 71.4 ...
##  $ ZhS_Vovlechennost      : int  37 13 15 33 22 37 26 37 22 25 ...
##  $ ZhS_Kontrol            : int  34 14 15 24 18 55 26 38 13 22 ...
##  $ ZhS_PrinyatieRiska     : int  16 4 10 18 13 20 11 19 12 12 ...
##  $ ZHiznestojkost         : int  87 31 40 75 53 112 63 94 47 59 ...
##  $ P_AbstractConcept      : int  32 32 32 31 25 34 36 23 26 26 ...
##  $ P_Active.Experim       : int  29 27 24 27 30 33 26 37 34 30 ...
##  $ P_ConcrExperien        : int  29 21 23 27 30 28 27 26 34 34 ...
##  $ P_ReflectObserv        : int  32 38 37 37 31 26 29 33 29 27 ...
save(Data, file = "Data.RData")

Проверка всех переменных

summary(Data)
##  SchoolType  subject_id           School             Class           Gender 
##  SOSh:298   Length:584         Length:584         Length:584         М:307  
##  Spec:286   Class :character   Class :character   Class :character   Ж:277  
##             Mode  :character   Mode  :character   Mode  :character          
##                                                                             
##                                                                             
##                                                                             
##                                                                             
##       Age         WellBeing     W_PositiveRel     W_Autonomy    
##  Min.   :13.0   Min.   :124.0   Min.   :19.00   Min.   : 19.00  
##  1st Qu.:14.0   1st Qu.:317.0   1st Qu.:51.00   1st Qu.: 50.00  
##  Median :14.0   Median :353.0   Median :59.00   Median : 56.00  
##  Mean   :14.7   Mean   :349.6   Mean   :59.28   Mean   : 56.53  
##  3rd Qu.:16.0   3rd Qu.:383.0   3rd Qu.:68.00   3rd Qu.: 63.00  
##  Max.   :17.0   Max.   :481.0   Max.   :84.00   Max.   :101.00  
##                                                                 
##   W_EnvMastery    W_PersGrowth  W_PurposeLife   W_SelfAcceptance
##  Min.   :27.00   Min.   :22.0   Min.   :19.00   Min.   :14.00   
##  1st Qu.:49.00   1st Qu.:57.0   1st Qu.:53.00   1st Qu.:47.00   
##  Median :55.00   Median :63.0   Median :61.00   Median :57.00   
##  Mean   :55.37   Mean   :62.8   Mean   :59.95   Mean   :55.63   
##  3rd Qu.:62.00   3rd Qu.:70.0   3rd Qu.:68.00   3rd Qu.:65.00   
##  Max.   :83.00   Max.   :83.0   Max.   :90.00   Max.   :82.00   
##                                                                 
##   SubWellBeing    SW_Napryazhennost SW_PsyEmocionalnyj SW_Nastroenie  
##  Min.   : 23.00   Min.   : 3.00     Min.   : 4.00      Min.   : 2.00  
##  1st Qu.: 63.00   1st Qu.: 9.00     1st Qu.:13.00      1st Qu.: 8.00  
##  Median : 77.00   Median :12.00     Median :17.00      Median :10.00  
##  Mean   : 76.03   Mean   :11.92     Mean   :17.08      Mean   :10.01  
##  3rd Qu.: 89.00   3rd Qu.:15.00     3rd Qu.:21.00      3rd Qu.:12.00  
##  Max.   :119.00   Max.   :21.00     Max.   :28.00      Max.   :14.00  
##  NA's   :7        NA's   :7         NA's   :7          NA's   :7      
##   SW_SocOkruzh     SW_Zdorove     SW_UdovletvDeyateln      PB_1      
##  Min.   : 3.00   Min.   : 2.000   Min.   : 3.00       Min.   :0.000  
##  1st Qu.:13.00   1st Qu.: 6.000   1st Qu.:10.00       1st Qu.:1.000  
##  Median :16.00   Median : 9.000   Median :13.00       Median :2.000  
##  Mean   :15.75   Mean   : 8.912   Mean   :12.36       Mean   :1.587  
##  3rd Qu.:19.00   3rd Qu.:12.000   3rd Qu.:15.00       3rd Qu.:2.000  
##  Max.   :21.00   Max.   :14.000   Max.   :21.00       Max.   :4.000  
##  NA's   :7       NA's   :7        NA's   :7           NA's   :13     
##       PB_2            PB_3           PB_4a           PB_4b      
##  Min.   :0.000   Min.   :0.000   Min.   :0.000   Min.   :0.000  
##  1st Qu.:2.000   1st Qu.:0.000   1st Qu.:2.000   1st Qu.:1.000  
##  Median :5.000   Median :2.000   Median :2.000   Median :2.000  
##  Mean   :4.891   Mean   :1.198   Mean   :1.776   Mean   :1.345  
##  3rd Qu.:7.000   3rd Qu.:2.000   3rd Qu.:2.000   3rd Qu.:2.000  
##  Max.   :9.000   Max.   :6.000   Max.   :2.000   Max.   :6.000  
##  NA's   :13      NA's   :13      NA's   :13      NA's   :13     
##      PB_5                PB_6           PB_7a           PB_7b      
##  Length:584         Min.   :0.000   Min.   :1.000   Min.   :1.000  
##  Class :character   1st Qu.:1.000   1st Qu.:3.000   1st Qu.:3.000  
##  Mode  :character   Median :2.000   Median :4.000   Median :4.000  
##                     Mean   :1.322   Mean   :3.781   Mean   :3.938  
##                     3rd Qu.:2.000   3rd Qu.:4.000   3rd Qu.:5.000  
##                     Max.   :4.000   Max.   :5.000   Max.   :5.000  
##                     NA's   :15      NA's   :28      NA's   :21     
##      PB_7c           PB_7d          PB_7e              PB_7f          
##  Min.   :1.000   Min.   :1.000   Length:584         Length:584        
##  1st Qu.:3.000   1st Qu.:3.000   Class :character   Class :character  
##  Median :4.000   Median :4.000   Mode  :character   Mode  :character  
##  Mean   :3.615   Mean   :3.839                                        
##  3rd Qu.:4.000   3rd Qu.:5.000                                        
##  Max.   :5.000   Max.   :5.000                                        
##  NA's   :38      NA's   :32                                           
##     PB_7g               PB_7h           PB_8          PB_9.1a     
##  Length:584         Min.   :1.00   Min.   :0.000   Min.   :0.000  
##  Class :character   1st Qu.:2.00   1st Qu.:0.000   1st Qu.:3.000  
##  Mode  :character   Median :3.00   Median :2.000   Median :4.000  
##                     Mean   :3.15   Mean   :1.338   Mean   :3.651  
##                     3rd Qu.:4.00   3rd Qu.:2.000   3rd Qu.:5.000  
##                     Max.   :5.00   Max.   :5.000   Max.   :5.000  
##                     NA's   :57     NA's   :16      NA's   :13     
##     PB_9.1b         PB_9.2a         PB_9.2b         PB_9.3a     
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:3.000   1st Qu.:3.000   1st Qu.:3.000   1st Qu.:3.000  
##  Median :4.000   Median :4.000   Median :4.000   Median :4.000  
##  Mean   :3.814   Mean   :3.961   Mean   :3.913   Mean   :3.842  
##  3rd Qu.:5.000   3rd Qu.:5.000   3rd Qu.:5.000   3rd Qu.:5.000  
##  Max.   :5.000   Max.   :5.000   Max.   :5.000   Max.   :5.000  
##  NA's   :18      NA's   :13      NA's   :18      NA's   :13     
##     PB_9.3b         PB_9.4a         PB_9.4b         PB_9.5a     
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:3.000   1st Qu.:3.000   1st Qu.:3.000   1st Qu.:3.000  
##  Median :4.000   Median :4.000   Median :4.000   Median :4.000  
##  Mean   :3.536   Mean   :3.701   Mean   :3.574   Mean   :3.635  
##  3rd Qu.:5.000   3rd Qu.:5.000   3rd Qu.:5.000   3rd Qu.:5.000  
##  Max.   :5.000   Max.   :5.000   Max.   :5.000   Max.   :5.000  
##  NA's   :17      NA's   :13      NA's   :18      NA's   :17     
##     PB_9.5b          PB_10        PB_Attitude     PB_Satisfaction
##  Min.   :1.000   Min.   :0.000   Min.   :-9.000   Min.   :1.125  
##  1st Qu.:3.000   1st Qu.:0.000   1st Qu.: 2.000   1st Qu.:3.250  
##  Median :4.000   Median :2.000   Median : 5.000   Median :3.750  
##  Mean   :3.652   Mean   :1.148   Mean   : 3.855   Mean   :3.697  
##  3rd Qu.:5.000   3rd Qu.:2.000   3rd Qu.: 7.000   3rd Qu.:4.250  
##  Max.   :5.000   Max.   :5.000   Max.   : 9.000   Max.   :5.400  
##  NA's   :18      NA's   :35      NA's   :11       NA's   :11     
##   PB_Security    SO_S.GlobSamootnoshenie SO_I.Samouvazhenie SO_II.Autosimpatiya
##  Min.   :0.900   Min.   : 4.00           Min.   : 0.000     Min.   : 0.000     
##  1st Qu.:3.200   1st Qu.:15.00           1st Qu.: 7.000     1st Qu.: 7.000     
##  Median :3.800   Median :20.00           Median : 9.000     Median : 8.000     
##  Mean   :3.753   Mean   :18.91           Mean   : 8.951     Mean   : 8.358     
##  3rd Qu.:4.400   3rd Qu.:22.50           3rd Qu.:11.000     3rd Qu.:11.000     
##  Max.   :5.000   Max.   :32.00           Max.   :15.000     Max.   :14.000     
##  NA's   :11      NA's   :53              NA's   :53         NA's   :53         
##  SO_III.OzhidOtnoshenie SO_IV.Samointeres SO_1.Samouverennost
##  Min.   : 1.000         Min.   :0.000     Min.   : 0.000     
##  1st Qu.: 7.000         1st Qu.:5.000     1st Qu.: 3.000     
##  Median : 9.000         Median :6.000     Median : 5.000     
##  Mean   : 8.292         Mean   :5.714     Mean   : 4.512     
##  3rd Qu.:10.000         3rd Qu.:7.000     3rd Qu.: 6.000     
##  Max.   :17.000         Max.   :8.000     Max.   :16.000     
##  NA's   :53             NA's   :53        NA's   :53         
##  SO_2.OtnoshenieDrugih SO_3.Samoprinyatie SO_4.Samorukovodstvo
##  Min.   :0.000         Min.   :0.000      Min.   :0.000       
##  1st Qu.:4.000         1st Qu.:3.000      1st Qu.:3.000       
##  Median :6.000         Median :5.000      Median :4.000       
##  Mean   :5.313         Mean   :4.606      Mean   :4.166       
##  3rd Qu.:7.000         3rd Qu.:6.000      3rd Qu.:5.000       
##  Max.   :8.000         Max.   :7.000      Max.   :7.000       
##  NA's   :53            NA's   :53         NA's   :53          
##  SO_5.Samoobvinenie SO_6.Samointeres SO_7.Samoponimanie SP_Konfrontaciya
##  Min.   :0.000      Min.   :0.000    Min.   :0.000      Min.   :  5.56  
##  1st Qu.:3.000      1st Qu.:4.000    1st Qu.:2.000      1st Qu.: 44.40  
##  Median :4.000      Median :5.000    Median :3.000      Median : 50.00  
##  Mean   :4.228      Mean   :5.222    Mean   :3.188      Mean   : 53.45  
##  3rd Qu.:6.000      3rd Qu.:7.000    3rd Qu.:4.000      3rd Qu.: 66.67  
##  Max.   :8.000      Max.   :7.000    Max.   :6.000      Max.   :122.22  
##  NA's   :53         NA's   :53       NA's   :53         NA's   :172     
##  SP_Distancirovanie SP_Samokontrol   SP_PoiskCocPodderzhki SP_PrinyatieOtvetstv
##  Min.   :  5.60     Min.   :  9.52   Min.   :  5.56        Min.   :  8.33      
##  1st Qu.: 38.90     1st Qu.: 52.40   1st Qu.: 50.00        1st Qu.: 50.00      
##  Median : 50.00     Median : 61.90   Median : 61.11        Median : 66.67      
##  Mean   : 53.49     Mean   : 62.78   Mean   : 60.59        Mean   : 63.56      
##  3rd Qu.: 66.67     3rd Qu.: 71.43   3rd Qu.: 72.22        3rd Qu.: 75.00      
##  Max.   :116.67     Max.   :123.81   Max.   :122.22        Max.   :108.33      
##  NA's   :172        NA's   :172      NA's   :172           NA's   :173         
##  SP_BegstvoIzbeganie SP_Planirovanie  SP_PolPereocenka ZhS_Vovlechennost
##  Min.   :  4.20      Min.   :  5.56   Min.   : 14.29   Min.   : 6.00    
##  1st Qu.: 37.50      1st Qu.: 55.60   1st Qu.: 52.40   1st Qu.:25.00    
##  Median : 50.00      Median : 66.70   Median : 61.90   Median :31.00    
##  Mean   : 51.26      Mean   : 68.68   Mean   : 63.23   Mean   :31.37    
##  3rd Qu.: 62.50      3rd Qu.: 83.30   3rd Qu.: 71.43   3rd Qu.:38.00    
##  Max.   :237.50      Max.   :133.33   Max.   :133.33   Max.   :51.00    
##  NA's   :173         NA's   :172      NA's   :172      NA's   :212      
##   ZhS_Kontrol    ZhS_PrinyatieRiska ZHiznestojkost   P_AbstractConcept
##  Min.   : 4.00   Min.   : 0.0       Min.   : 18.00   Min.   :19.00    
##  1st Qu.:23.00   1st Qu.:13.0       1st Qu.: 63.75   1st Qu.:28.00    
##  Median :28.00   Median :17.0       Median : 76.00   Median :31.00    
##  Mean   :29.47   Mean   :16.4       Mean   : 77.24   Mean   :31.63    
##  3rd Qu.:35.00   3rd Qu.:20.0       3rd Qu.: 92.00   3rd Qu.:34.75    
##  Max.   :64.00   Max.   :29.0       Max.   :134.00   Max.   :45.00    
##  NA's   :212     NA's   :212        NA's   :212      NA's   :238      
##  P_Active.Experim P_ConcrExperien P_ReflectObserv
##  Min.   :18.00    Min.   :16.00   Min.   :15.00  
##  1st Qu.:27.00    1st Qu.:24.00   1st Qu.:28.00  
##  Median :29.00    Median :27.00   Median :32.00  
##  Mean   :29.25    Mean   :27.52   Mean   :31.70  
##  3rd Qu.:32.00    3rd Qu.:31.00   3rd Qu.:35.75  
##  Max.   :39.00    Max.   :41.00   Max.   :44.00  
##  NA's   :238      NA's   :238     NA's   :238

После проверки удалил почти все значения сумм, где были нули. Это суммы по пропущенным анкетам. Удалял в исходной таблице вручную.

Выбросы. Изучаем выбросы

W_Autonomy

Data$W_Autonomy |>
        setNames(seq_along(Data$W_Autonomy)) |>
        sort(decreasing = TRUE) |>
        head(10)
## 176  94 135 223 261 579 338 393  99 152 
## 101  83  81  80  80  80  79  79  78  78
Data$W_Autonomy[176] <- NA

В 176 строке значения 101

W_SelfAcceptance

Data$W_SelfAcceptance |>
        setNames(seq_along(Data$W_Autonomy)) |>
        sort(decreasing = TRUE) |>
        tail(10)
## 513 493  32 342  57 434 556 244  45   2 
##  24  22  20  20  19  19  18  17  15  14

SW_SocOkruzh

Data$SW_SocOkruzh |>
        setNames(seq_along(Data$W_Autonomy)) |>
        sort(decreasing = TRUE) |>
        tail(10)
## 355 360 404 515 123 253 390 221 342 556 
##   6   6   6   6   5   5   4   3   3   3

SO_1.Samouverennost

Data$SO_1.Samouverennost |>
        setNames(seq_along(Data$W_Autonomy)) |>
        sort(decreasing = TRUE) |>
        head(10)
## 358  26 210 468  17  20  24  79  91  94 
##  16   8   8   8   7   7   7   7   7   7
Data$SO_1.Samouverennost[358] <- NA

Удаляю значение 16

SP_BegstvoIzbeganie

Data$SP_BegstvoIzbeganie |>
        setNames(seq_along(Data$W_Autonomy)) |>
        sort(decreasing = TRUE) |>
        head(10)
##    567    578    282    571    561    564     21    381    500    568 
## 237.50 191.67 100.00 100.00  95.83  95.83  91.70  91.67  91.67  91.67
Data$SP_BegstvoIzbeganie[578] <- NA
Data$SP_BegstvoIzbeganie[567] <- NA

Удалил два значения 237.50 и 191.67

P_ReflectObserv

Data$P_ReflectObserv |>
        setNames(seq_along(Data$W_Autonomy)) |>
        sort(decreasing = TRUE) |>
        tail(10)
## 169 467 499 551  32 146 537 129  88 544 
##  22  22  22  22  21  21  21  19  18  15

Пропущенные значения

Data |>
        is.na() |>
        colSums() |>
        as.data.frame()
##                         colSums(is.na(Data))
## SchoolType                                 0
## subject_id                                 0
## School                                     0
## Class                                      0
## Gender                                     0
## Age                                        0
## WellBeing                                  0
## W_PositiveRel                              0
## W_Autonomy                                 1
## W_EnvMastery                               0
## W_PersGrowth                               0
## W_PurposeLife                              0
## W_SelfAcceptance                           0
## SubWellBeing                               7
## SW_Napryazhennost                          7
## SW_PsyEmocionalnyj                         7
## SW_Nastroenie                              7
## SW_SocOkruzh                               7
## SW_Zdorove                                 7
## SW_UdovletvDeyateln                        7
## PB_1                                      13
## PB_2                                      13
## PB_3                                      13
## PB_4a                                     13
## PB_4b                                     13
## PB_5                                      13
## PB_6                                      15
## PB_7a                                     28
## PB_7b                                     21
## PB_7c                                     38
## PB_7d                                     32
## PB_7e                                     44
## PB_7f                                     47
## PB_7g                                     55
## PB_7h                                     57
## PB_8                                      16
## PB_9.1a                                   13
## PB_9.1b                                   18
## PB_9.2a                                   13
## PB_9.2b                                   18
## PB_9.3a                                   13
## PB_9.3b                                   17
## PB_9.4a                                   13
## PB_9.4b                                   18
## PB_9.5a                                   17
## PB_9.5b                                   18
## PB_10                                     35
## PB_Attitude                               11
## PB_Satisfaction                           11
## PB_Security                               11
## SO_S.GlobSamootnoshenie                   53
## SO_I.Samouvazhenie                        53
## SO_II.Autosimpatiya                       53
## SO_III.OzhidOtnoshenie                    53
## SO_IV.Samointeres                         53
## SO_1.Samouverennost                       54
## SO_2.OtnoshenieDrugih                     53
## SO_3.Samoprinyatie                        53
## SO_4.Samorukovodstvo                      53
## SO_5.Samoobvinenie                        53
## SO_6.Samointeres                          53
## SO_7.Samoponimanie                        53
## SP_Konfrontaciya                         172
## SP_Distancirovanie                       172
## SP_Samokontrol                           172
## SP_PoiskCocPodderzhki                    172
## SP_PrinyatieOtvetstv                     173
## SP_BegstvoIzbeganie                      175
## SP_Planirovanie                          172
## SP_PolPereocenka                         172
## ZhS_Vovlechennost                        212
## ZhS_Kontrol                              212
## ZhS_PrinyatieRiska                       212
## ZHiznestojkost                           212
## P_AbstractConcept                        238
## P_Active.Experim                         238
## P_ConcrExperien                          238
## P_ReflectObserv                          238

В методике Безопасность есть сумма, несмотря на пропущенные значения. При наличии NA в одной из шкал заменяю на пропущено в суммарных баллах.

# Перечень переменных, которые нужно проверить на наличие NA
variables_to_check <- c("PB_1", "PB_2", "PB_3", "PB_4a", "PB_4b", "PB_5", "PB_6", "PB_7a", "PB_7b", "PB_7c", "PB_7d", "PB_7e", "PB_7f", "PB_7g", "PB_7h", "PB_8", "PB_9.1a", "PB_9.1b", "PB_9.2a", "PB_9.2b", "PB_9.3a", "PB_9.3b", "PB_9.4a", "PB_9.4b", "PB_9.5a", "PB_9.5b", "PB_10")

# Переменные, в которых нужно заменить значения на NA при обнаружении NA в других переменных
variables_to_replace <- c("PB_Attitude", "PB_Satisfaction", "PB_Security")

# Найдем строки, где в проверяемых переменных есть хотя бы одно NA
rows_with_na <- apply(Data[, variables_to_check], 1, function(row) any(is.na(row)))

# Заменим значения на NA в указанных переменных, если в строке есть NA
Data[rows_with_na, variables_to_replace] <- NA
Data[21:50] |>
        is.na() |>
        colSums() |>
        as.data.frame()
##                 colSums(is.na(Data[21:50]))
## PB_1                                     13
## PB_2                                     13
## PB_3                                     13
## PB_4a                                    13
## PB_4b                                    13
## PB_5                                     13
## PB_6                                     15
## PB_7a                                    28
## PB_7b                                    21
## PB_7c                                    38
## PB_7d                                    32
## PB_7e                                    44
## PB_7f                                    47
## PB_7g                                    55
## PB_7h                                    57
## PB_8                                     16
## PB_9.1a                                  13
## PB_9.1b                                  18
## PB_9.2a                                  13
## PB_9.2b                                  18
## PB_9.3a                                  13
## PB_9.3b                                  17
## PB_9.4a                                  13
## PB_9.4b                                  18
## PB_9.5a                                  17
## PB_9.5b                                  18
## PB_10                                    35
## PB_Attitude                             120
## PB_Satisfaction                         120
## PB_Security                             120

Испытуемые

Data %>%
  count(School, Class) %>%
  arrange(School, Class)
##     School Class  n
## 1      225   10Б  2
## 2      225    8Б 22
## 3      241    8а 17
## 4        3   10а  7
## 5        3   10б 16
## 6        3    8б 13
## 7        3    8в 10
## 8      367   10а 21
## 9      367    8а  1
## 10     367    8б 21
## 11     531   10а 22
## 12     531    8а 28
## 13     531    8б 24
## 14     540   10а 19
## 15     540    8а 30
## 16     540    8б 28
## 17     540    8в 29
## 18     540    8г 29
## 19     564   10м 10
## 20     564     8 21
## 21     625   10а 59
## 22     625   10б 40
## 23     625    8а 20
## 24     625   8а   1
## 25     625    8б 21
## 26     625    8в 11
## 27 А лицей   10а 16
## 28 А лицей    8А 27
## 29 А лицей    9А 19

В исходнике были ошибки: 10м и 10М (разное написание) И 8а с пробелом - поправил в numbers

# Распределение возраста
ggplot(Data, aes(x = as.factor(Age), fill = SchoolType)) +
  geom_bar(position = position_dodge(width = 0.8)) +
  labs(title = "Распределение по возрасту и типу школы", x = "Возраст", y = "Количество") +
  theme_minimal()

# Распределение по полу
ggplot(Data, aes(x = as.factor(Gender), fill = SchoolType)) +
        geom_bar(position = "dodge") +
        labs(title = "Распределение по полу", x = "Пол", y = "Количество")

Шкала психологического благополучия (Рифф)

Data |>
        select(starts_with("W_"), WellBeing) |>
        describe()
##                  vars   n   mean    sd median trimmed   mad min max range  skew
## W_PositiveRel       1 584  59.28 11.12     59   59.51 11.86  19  84    65 -0.21
## W_Autonomy          2 583  56.45 10.42     56   56.47 10.38  19  83    64 -0.12
## W_EnvMastery        3 584  55.37 10.51     55   55.35 10.38  27  83    56  0.01
## W_PersGrowth        4 584  62.80  9.30     63   63.17 10.38  22  83    61 -0.45
## W_PurposeLife       5 584  59.95 11.39     61   60.41 10.38  19  90    71 -0.46
## W_SelfAcceptance    6 584  55.63 13.12     57   56.30 13.34  14  82    68 -0.49
## WellBeing           7 584 349.55 51.20    353  350.57 50.41 124 481   357 -0.30
##                  kurtosis   se
## W_PositiveRel       -0.27 0.46
## W_Autonomy           0.17 0.43
## W_EnvMastery        -0.13 0.43
## W_PersGrowth         0.39 0.38
## W_PurposeLife        0.32 0.47
## W_SelfAcceptance    -0.11 0.54
## WellBeing            0.43 2.12

Графики

Data |> 
  ggplot(aes(x = WellBeing, fill = SchoolType)) + 
  geom_histogram(binwidth = 20, position = "dodge", color = "black") + 
  facet_wrap(~ Gender) + 
  labs(title = "Психологическое благополучие (Рифф)", 
       x = "Баллы", y = "Частота") + 
  theme_minimal()

Data |> 
        select(starts_with("W_"),  SchoolType) |>
        pivot_longer(cols = starts_with("W_"), names_to = "variable", values_to = "value") |>
        ggplot(aes(x = value,  fill = SchoolType)) +
        geom_histogram(binwidth = 5, color = "black", position = "identity", alpha = 0.6) +
        facet_wrap(~ variable, scales = "free_x") +
        labs(title = "Гистограммы для шкалы психологического благополучия Рифф",
             x = "Значения", y = "Частота") +
        theme_minimal()

Data |> 
    select(starts_with("W_"), Gender, SchoolType) |> 
    pivot_longer(cols = -c(Gender, SchoolType), names_to = "variable", values_to = "value") |>
    ggplot(aes(x = variable, y = value, fill = SchoolType)) +
    geom_boxplot(color = "black") +
    labs(title = "Шкалы психологического благополучия Рифф",
         x = "Шкала", y = "Баллы") +
    facet_wrap(~ Gender, ncol = 1) +
    theme_minimal() +
    theme(axis.text.x = element_text(angle = 45, hjust = 1))

Субъективное благополучие

Data |>
  select(starts_with("SW_"), SubWellBeing) |>
  describe()
##                     vars   n  mean    sd median trimmed   mad min max range
## SW_Napryazhennost      1 577 11.92  3.54     12   11.93  4.45   3  21    18
## SW_PsyEmocionalnyj     2 577 17.08  5.62     17   17.17  5.93   4  28    24
## SW_Nastroenie          3 577 10.01  2.90     10   10.23  2.97   2  14    12
## SW_SocOkruzh           4 577 15.75  3.92     16   16.05  4.45   3  21    18
## SW_Zdorove             5 577  8.91  3.38      9    9.03  4.45   2  14    12
## SW_UdovletvDeyateln    6 577 12.36  4.10     13   12.39  4.45   3  21    18
## SubWellBeing           7 577 76.03 17.92     77   76.30 19.27  23 119    96
##                      skew kurtosis   se
## SW_Napryazhennost   -0.04    -0.39 0.15
## SW_PsyEmocionalnyj  -0.12    -0.70 0.23
## SW_Nastroenie       -0.65    -0.09 0.12
## SW_SocOkruzh        -0.62    -0.15 0.16
## SW_Zdorove          -0.25    -0.82 0.14
## SW_UdovletvDeyateln -0.09    -0.46 0.17
## SubWellBeing        -0.15    -0.38 0.75

Графики

Data |> 
  ggplot(aes(x = SubWellBeing, fill = SchoolType)) +
  geom_histogram(binwidth = 20, position = "dodge", color = "black") +
  facet_wrap(~ Gender, ncol = 1) + 
  labs(title = "Субъективное благополучие",
       x = "Баллы", y = "Частота") +
  theme_minimal()

Шкалы субъектвного благополучия

Data |> 
  select(starts_with("SW_"), SchoolType) |>
  pivot_longer(-SchoolType, names_to = "variable", values_to = "value") |>
  ggplot(aes(x = value, fill = SchoolType)) +
  geom_histogram(binwidth = 5, color = "black", position = "dodge") +
  facet_wrap(~ variable, scales = "free_x") +
  labs(title = "Гистограммы для шкал субъективного благополучия",
       x = "Значения", y = "Частота") +
  theme_minimal()

Data |> 
  select(starts_with("SW_"), Gender, SchoolType) |> 
  pivot_longer(cols = -c(Gender, SchoolType), names_to = "variable", values_to = "value") |>
  ggplot(aes(x = variable, y = value, fill = SchoolType)) +
  geom_boxplot(color = "black") +
  facet_wrap(~ Gender, ncol = 1) +        
  labs(title = "Шкалы субъективного благополучия",
       x = "Шкала", y = "Баллы") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

Психологическая безопасность (PB)

Data |>
  select(starts_with("PB_")) |>
  describe()
##                 vars   n mean   sd median trimmed  mad  min max range  skew
## PB_1               1 571 1.59 0.76   2.00    1.73 0.00  0.0 4.0   4.0 -1.34
## PB_2               2 571 4.89 2.87   5.00    5.00 2.97  0.0 9.0   9.0 -0.39
## PB_3               3 571 1.20 0.90   2.00    1.24 1.48  0.0 6.0   6.0 -0.11
## PB_4a              4 571 1.78 0.58   2.00    1.95 0.00  0.0 2.0   2.0 -2.42
## PB_4b              5 571 1.35 0.80   2.00    1.42 0.00  0.0 6.0   6.0 -0.29
## PB_5*              6 571 2.16 0.93   3.00    2.19 0.00  1.0 5.0   4.0 -0.26
## PB_6               7 569 1.32 0.86   2.00    1.39 0.00  0.0 4.0   4.0 -0.47
## PB_7a              8 556 3.78 0.93   4.00    3.84 1.48  1.0 5.0   4.0 -0.48
## PB_7b              9 563 3.94 0.96   4.00    4.05 1.48  1.0 5.0   4.0 -0.87
## PB_7c             10 546 3.62 1.10   4.00    3.71 1.48  1.0 5.0   4.0 -0.59
## PB_7d             11 552 3.84 0.98   4.00    3.95 1.48  1.0 5.0   4.0 -0.73
## PB_7e*            12 540 4.96 0.97   5.00    5.07 1.48  1.0 6.0   5.0 -0.86
## PB_7f*            13 537 4.73 1.08   5.00    4.83 1.48  1.0 7.0   6.0 -0.61
## PB_7g*            14 529 4.72 1.08   5.00    4.82 1.48  1.0 7.0   6.0 -0.63
## PB_7h             15 527 3.15 1.17   3.00    3.19 1.48  1.0 5.0   4.0 -0.22
## PB_8              16 568 1.34 0.91   2.00    1.39 0.00  0.0 5.0   5.0 -0.14
## PB_9.1a           17 571 3.65 1.22   4.00    3.80 1.48  0.0 5.0   5.0 -0.85
## PB_9.1b           18 566 3.81 1.20   4.00    3.97 1.48  1.0 5.0   4.0 -0.84
## PB_9.2a           19 571 3.96 1.19   4.00    4.14 1.48  1.0 5.0   4.0 -1.02
## PB_9.2b           20 566 3.91 1.21   4.00    4.09 1.48  1.0 5.0   4.0 -1.00
## PB_9.3a           21 571 3.84 1.18   4.00    3.99 1.48  1.0 5.0   4.0 -0.82
## PB_9.3b           22 567 3.54 1.25   4.00    3.64 1.48  1.0 5.0   4.0 -0.47
## PB_9.4a           23 571 3.70 1.26   4.00    3.86 1.48  1.0 5.0   4.0 -0.71
## PB_9.4b           24 566 3.57 1.23   4.00    3.70 1.48  1.0 5.0   4.0 -0.61
## PB_9.5a           25 567 3.63 1.27   4.00    3.78 1.48  1.0 5.0   4.0 -0.68
## PB_9.5b           26 566 3.65 1.22   4.00    3.78 1.48  1.0 5.0   4.0 -0.66
## PB_10             27 549 1.15 0.97   2.00    1.18 0.00  0.0 5.0   5.0 -0.18
## PB_Attitude       28 464 3.95 3.88   5.00    4.32 4.45 -9.0 9.0  18.0 -0.89
## PB_Satisfaction   29 464 3.71 0.69   3.77    3.75 0.59  1.5 5.4   3.9 -0.53
## PB_Security       30 464 3.74 0.85   3.80    3.80 0.89  0.9 5.0   4.1 -0.69
##                 kurtosis   se
## PB_1                0.34 0.03
## PB_2               -1.08 0.12
## PB_3               -0.33 0.04
## PB_4a               4.33 0.02
## PB_4b               0.73 0.03
## PB_5*              -1.62 0.04
## PB_6               -0.93 0.04
## PB_7a              -0.09 0.04
## PB_7b               0.53 0.04
## PB_7c              -0.27 0.05
## PB_7d               0.19 0.04
## PB_7e*              0.57 0.04
## PB_7f*             -0.12 0.05
## PB_7g*             -0.01 0.05
## PB_7h              -0.72 0.05
## PB_8                0.07 0.04
## PB_9.1a            -0.11 0.05
## PB_9.1b            -0.26 0.05
## PB_9.2a             0.06 0.05
## PB_9.2b            -0.01 0.05
## PB_9.3a            -0.28 0.05
## PB_9.3b            -0.82 0.05
## PB_9.4a            -0.51 0.05
## PB_9.4b            -0.56 0.05
## PB_9.5a            -0.58 0.05
## PB_9.5b            -0.50 0.05
## PB_10              -1.46 0.04
## PB_Attitude         0.59 0.18
## PB_Satisfaction     0.25 0.03
## PB_Security         0.42 0.04

Графики

Data |> 
  select(PB_Attitude, PB_Satisfaction, PB_Security, SchoolType, Gender) |>
  pivot_longer(-c(SchoolType, Gender), names_to = "variable", values_to = "value") |>
  ggplot(aes(x = value, fill = SchoolType)) +
  geom_histogram(bins = 10, color = "black", position = "dodge") +
  facet_wrap(Gender ~ variable, scales = "free_x") +
  labs(title = "Гистограммы для шкал психологической безопасности",
       x = "Значения", y = "Частота") +
  theme_minimal()

#Опросник самоотношения (SO)

Data |>
  select(starts_with("SO_")) |>
  describe()
##                         vars   n  mean   sd median trimmed  mad min max range
## SO_S.GlobSamootnoshenie    1 531 18.91 5.28     20   19.14 5.93   4  32    28
## SO_I.Samouvazhenie         2 531  8.95 3.13      9    9.03 2.97   0  15    15
## SO_II.Autosimpatiya        3 531  8.36 3.11      8    8.54 2.97   0  14    14
## SO_III.OzhidOtnoshenie     4 531  8.29 2.46      9    8.46 2.97   1  17    16
## SO_IV.Samointeres          5 531  5.71 1.81      6    5.88 1.48   0   8     8
## SO_1.Samouverennost        6 530  4.49 1.64      5    4.54 1.48   0   8     8
## SO_2.OtnoshenieDrugih      7 531  5.31 1.74      6    5.41 1.48   0   8     8
## SO_3.Samoprinyatie         8 531  4.61 1.93      5    4.78 1.48   0   7     7
## SO_4.Samorukovodstvo       9 531  4.17 1.25      4    4.22 1.48   0   7     7
## SO_5.Samoobvinenie        10 531  4.23 2.09      4    4.30 2.97   0   8     8
## SO_6.Samointeres          11 531  5.22 1.55      5    5.38 1.48   0   7     7
## SO_7.Samoponimanie        12 531  3.19 1.57      3    3.17 1.48   0   6     6
##                          skew kurtosis   se
## SO_S.GlobSamootnoshenie -0.39    -0.29 0.23
## SO_I.Samouvazhenie      -0.23    -0.46 0.14
## SO_II.Autosimpatiya     -0.44    -0.33 0.13
## SO_III.OzhidOtnoshenie  -0.45    -0.16 0.11
## SO_IV.Samointeres       -0.63    -0.34 0.08
## SO_1.Samouverennost     -0.23    -0.53 0.07
## SO_2.OtnoshenieDrugih   -0.53    -0.46 0.08
## SO_3.Samoprinyatie      -0.60    -0.66 0.08
## SO_4.Samorukovodstvo    -0.39    -0.21 0.05
## SO_5.Samoobvinenie      -0.18    -0.77 0.09
## SO_6.Samointeres        -0.72     0.00 0.07
## SO_7.Samoponimanie       0.02    -0.76 0.07

Графики

Data |> 
  select(SO_S.GlobSamootnoshenie
         , SO_I.Samouvazhenie
         , SO_II.Autosimpatiya
         , SO_III.OzhidOtnoshenie
         , SO_IV.Samointeres
         , SchoolType) |>
  pivot_longer(-SchoolType, names_to = "variable", values_to = "value") |>
  ggplot(aes(x = value, fill = SchoolType)) +
  geom_histogram(bins = 10, color = "black", position = "dodge") +
  facet_wrap(~ variable, scales = "free_x") +
  labs(title = "Самоотношение",
       x = "Значения", y = "Частота") +
  theme_minimal()

Data |> 
  select(SO_1.Samouverennost
         , SO_2.OtnoshenieDrugih
         , SO_3.Samoprinyatie
         , SO_4.Samorukovodstvo
         , SO_5.Samoobvinenie
         , SO_6.Samointeres
         , SO_7.Samoponimanie
         , SchoolType) |>
  pivot_longer(-SchoolType, names_to = "variable", values_to = "value") |>
  ggplot(aes(x = value, fill = SchoolType)) +
  geom_histogram(bins = 7, position = "dodge", color = "black") +
  facet_wrap(~ variable, scales = "free_x") +
  labs(title = "Самоотношение - шкалы",
       x = "Значения", y = "Частота") +
  theme_minimal()

Data |> 
  select(SO_S.GlobSamootnoshenie,
         Gender, 
         SchoolType) |> 
  ggplot(aes(x = Gender , y = SO_S.GlobSamootnoshenie, fill = SchoolType)) +
  geom_boxplot(color = "black") +
  labs(title = "Шкала S (глобальное самоотношение)",
       x = "Пол", y = "Баллы") +
  theme_minimal()

Data |> 
  select(SO_I.Samouvazhenie,
         SO_II.Autosimpatiya,
         SO_III.OzhidOtnoshenie,
         SO_IV.Samointeres,
         Gender, 
         SchoolType) |> 
  pivot_longer(cols = -c(Gender, SchoolType), names_to = "variable", values_to = "value") |>
  ggplot(aes(x = variable, y = value, fill = SchoolType)) +
  geom_boxplot(color = "black") +
  facet_wrap(~ Gender, ncol = 1) +
  labs(title = "Опросник самоотношения",
       x = "Шкала", y = "Баллы") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

Data |> 
  select(SO_1.Samouverennost
         , SO_2.OtnoshenieDrugih
         , SO_3.Samoprinyatie
         , SO_4.Samorukovodstvo
         , SO_5.Samoobvinenie
         , SO_6.Samointeres
         , SO_7.Samoponimanie
         , Gender
         , SchoolType) |> 
  pivot_longer(-c(Gender, SchoolType), names_to = "variable", values_to = "value") |>
  ggplot(aes(x = variable, y = value, fill = SchoolType)) +
  geom_boxplot(color = "black") +
  facet_wrap(~ Gender, ncol = 1) +
  labs(title = "Опросник самоотношения",
       x = "Шкала", y = "Баллы") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

Способы совладающего поведения (SP)

Data |>
  select(starts_with("SP_")) |>
  describe()
##                       vars   n  mean    sd median trimmed   mad   min    max
## SP_Konfrontaciya         1 412 53.45 17.80  50.00   52.86 16.46  5.56 122.22
## SP_Distancirovanie       2 412 53.49 18.87  50.00   53.10 16.47  5.60 116.67
## SP_Samokontrol           3 412 62.78 16.59  61.90   62.50 14.11  9.52 123.81
## SP_PoiskCocPodderzhki    4 412 60.59 19.74  61.11   61.01 16.47  5.56 122.22
## SP_PrinyatieOtvetstv     5 411 63.56 19.25  66.67   63.68 24.66  8.33 108.33
## SP_BegstvoIzbeganie      6 409 50.46 18.95  50.00   49.91 18.53  4.20 100.00
## SP_Planirovanie          7 412 68.68 19.49  66.70   68.59 16.52  5.56 133.33
## SP_PolPereocenka         8 412 63.23 19.25  61.90   62.68 14.13 14.29 133.33
##                        range  skew kurtosis   se
## SP_Konfrontaciya      116.66  0.39     0.50 0.88
## SP_Distancirovanie    111.07  0.22    -0.11 0.93
## SP_Samokontrol        114.29  0.26     0.89 0.82
## SP_PoiskCocPodderzhki 116.66 -0.15     0.10 0.97
## SP_PrinyatieOtvetstv  100.00 -0.07    -0.39 0.95
## SP_BegstvoIzbeganie    95.80  0.23    -0.37 0.94
## SP_Planirovanie       127.77  0.04     0.37 0.96
## SP_PolPereocenka      119.04  0.44     1.00 0.95

Графики

Data |> 
  select(starts_with("SP_"), SchoolType) |>
  pivot_longer(-SchoolType, names_to = "variable", values_to = "value") |>
  ggplot(aes(x = value, fill = SchoolType)) +
  geom_histogram(binwidth = 5, position = "dodge", color = "black") +
  facet_wrap(~ variable, scales = "free_x") +
  labs(title = "Гистограммы для способов совладающего поведения",
       x = "Значения", y = "Частота") +
  theme_minimal()

Data |> 
  select(starts_with("SP_"), Gender, SchoolType) |> 
  pivot_longer(cols = -c(Gender, SchoolType), names_to = "variable", values_to = "value") |>
  ggplot(aes(x = variable, y = value, fill = SchoolType)) +
  geom_boxplot(color = "black") +
  facet_wrap(~ Gender, ncol = 1) +  
  labs(title = "Способы совладающего поведения",
       x = "Шкала", y = "Баллы") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

Тест жизнестойкости (ZhS)

Data |>
  select(starts_with("ZhS_")) |>
  describe()
##                    vars   n  mean   sd median trimmed  mad min max range  skew
## ZhS_Vovlechennost     1 372 31.37 9.30     31   31.40 8.90   6  51    45 -0.05
## ZhS_Kontrol           2 372 29.47 9.88     28   28.97 8.90   4  64    60  0.55
## ZhS_PrinyatieRiska    3 372 16.40 4.97     17   16.53 4.45   0  29    29 -0.29
##                    kurtosis   se
## ZhS_Vovlechennost     -0.38 0.48
## ZhS_Kontrol            0.72 0.51
## ZhS_PrinyatieRiska     0.08 0.26

Графики

Data |> 
  select(ZHiznestojkost, SchoolType, Gender) |>
  ggplot(aes(x = ZHiznestojkost, fill = SchoolType)) +
  geom_histogram(binwidth = 5, position = "dodge", color = "black") +
  facet_wrap(~ Gender, ncol = 1) +
  labs(title = "Жизнестойкость",
       x = "Значения", y = "Частота") +
  theme_minimal()

Data |> 
  select(starts_with("ZhS_"), SchoolType) |>
  pivot_longer(-SchoolType, names_to = "variable", values_to = "value") |>
  ggplot(aes(x = value, fill = SchoolType)) +
  geom_histogram(binwidth = 5, position = "dodge", color = "black") +
  facet_wrap(~ variable, scales = "free_x") +
  labs(title = "Шкалы по жизнестойкости",
       x = "Значения", y = "Частота") +
  theme_minimal()

Data |> 
  select(ZHiznestojkost, Gender, SchoolType) |> 
  ggplot(aes(x = Gender, y = ZHiznestojkost, fill = SchoolType)) +
  geom_boxplot(color = "black") +
  labs(title = "Жизнестойкость",
       x = "Шкала", y = "Баллы") +
  theme_minimal()

Data |> 
  select(starts_with("ZhS_"), Gender, SchoolType) |> 
  pivot_longer(cols = -c(Gender, SchoolType), names_to = "variable", values_to = "value") |>
  ggplot(aes(x = variable, y = value, fill = SchoolType)) +
  geom_boxplot(color = "black") +
  facet_wrap(~ Gender, ncol = 1) +     
  labs(title = "Тест жизнестойкости",
       x = "Шкала", y = "Баллы") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

Стили познания (P)

Data |>
  select(starts_with("P_")) |>
  describe()
##                   vars   n  mean   sd median trimmed  mad min max range  skew
## P_AbstractConcept    1 346 31.63 4.67     31   31.51 4.45  19  45    26  0.26
## P_Active.Experim     2 346 29.25 3.74     29   29.28 3.71  18  39    21 -0.07
## P_ConcrExperien      3 346 27.52 5.23     27   27.35 5.93  16  41    25  0.23
## P_ReflectObserv      4 346 31.70 5.01     32   31.84 5.93  15  44    29 -0.28
##                   kurtosis   se
## P_AbstractConcept    -0.05 0.25
## P_Active.Experim     -0.19 0.20
## P_ConcrExperien      -0.37 0.28
## P_ReflectObserv      -0.34 0.27

Графики

Data |> 
  select(starts_with("P_"), SchoolType) |>
  pivot_longer(-SchoolType, names_to = "variable", values_to = "value") |>
  ggplot(aes(x = value, fill = SchoolType)) +
  geom_histogram(binwidth = 5, position = "dodge", color = "black") +
  facet_wrap(~ variable, scales = "free_x") +
  labs(title = "Стили познания",
       x = "Значения", y = "Частота") +
  theme_minimal()

Data |> 
  select(starts_with("P_"), Gender, SchoolType) |> 
  pivot_longer(cols = -c(Gender, SchoolType), names_to = "variable", values_to = "value") |>
  ggplot(aes(x = variable, y = value, fill = SchoolType)) +
  geom_boxplot(color = "black") +
  facet_wrap(~ Gender, ncol = 1) +     
  labs(title = "Стили познания",
       x = "Шкала", y = "Баллы") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

Сводная таблица

Создаю короткую таблицу

Data_short <- Data |>
  select(SchoolType, Gender, Age, WellBeing, W_PositiveRel, W_Autonomy, W_EnvMastery, W_PersGrowth, W_PurposeLife, W_SelfAcceptance
             , PB_Attitude, PB_Satisfaction, PB_Security, SO_S.GlobSamootnoshenie
             , SO_I.Samouvazhenie, SO_II.Autosimpatiya, SO_III.OzhidOtnoshenie, SO_IV.Samointeres, SO_1.Samouverennost, SO_2.OtnoshenieDrugih, SO_3.Samoprinyatie, SO_4.Samorukovodstvo, SO_5.Samoobvinenie, SO_6.Samointeres, SO_7.Samoponimanie
             , SP_Konfrontaciya, SP_Distancirovanie, SP_Samokontrol, SP_PoiskCocPodderzhki, SP_PrinyatieOtvetstv, SP_BegstvoIzbeganie, SP_Planirovanie, SP_PolPereocenka
             , ZhS_Vovlechennost, ZhS_Kontrol, ZhS_PrinyatieRiska, ZHiznestojkost, P_AbstractConcept
             , P_Active.Experim, P_ConcrExperien, P_ReflectObserv)
# Функция для вычисления t-статистики и p-value
calculate_t_test <- function(data, group_col, feature_col) {
  formula <- as.formula(paste(feature_col, "~", group_col))
  test_result <- t.test(formula, data = data)
  c(statistic = test_result$statistic, p.value = test_result$p.value)
}

# Основной код
Data_short %>%
    select(c(-Gender, -Age)) %>%
  group_by(SchoolType) %>%
  summarise(
    across(everything(),
           list(
             mean = ~ mean(., na.rm = TRUE),
             sd = ~ sd(., na.rm = TRUE),
             n = ~ sum(!is.na(.))
           ), .names = "{.col}_{.fn}")
  ) %>%
  pivot_longer(
    cols = -SchoolType,
    names_to = c("Feature", "Statistic"),
    names_pattern = "(.*)_(.*)",
    values_to = "Value"
  ) %>%
  pivot_wider(
    names_from = c(Statistic, SchoolType),
    values_from = Value
  ) %>%
  rowwise() %>% # Для выполнения операций по строкам
  mutate(
    t_result = list(calculate_t_test(Data, "SchoolType", Feature)),
    t.statistic = t_result[[1]],
    p.value = t_result[[2]]
  ) %>%
  ungroup() %>% # Убираем rowwise после добавления новых столбцов
  select(-t_result) %>% # Удаляем временный столбец
  mutate(p.value = scales::pvalue(p.value)) %>%
    mutate(stars = case_when(
        p.value < 0.001 ~ "***",
        p.value < 0.01 ~ "**",
        p.value < 0.05 ~ "*",
        TRUE ~ ""  # если p.value больше или равно 0.05, звездочек не будет
    )) %>%
  kable(digits = 2)
Feature mean_SOSh sd_SOSh n_SOSh mean_Spec sd_Spec n_Spec t.statistic p.value stars
WellBeing 344.61 49.51 298 354.71 52.50 286 -2.39 0.017 *
W_PositiveRel 58.79 10.46 298 59.80 11.76 286 -1.09 0.276
W_Autonomy 55.50 10.48 298 57.45 10.28 285 -2.26 0.024 *
W_EnvMastery 55.03 10.07 298 55.73 10.96 286 -0.80 0.422
W_PersGrowth 61.11 8.76 298 64.55 9.53 286 -4.53 <0.001 ***
W_PurposeLife 59.36 11.51 298 60.56 11.26 286 -1.27 0.204
W_SelfAcceptance 54.81 13.01 298 56.48 13.20 286 -1.53 0.126
PB_Attitude 3.53 3.54 243 4.41 4.19 221 -2.45 0.015 *
PB_Satisfaction 3.62 0.68 243 3.81 0.68 221 -3.10 0.002 **
PB_Security 3.60 0.87 243 3.89 0.79 221 -3.77 <0.001 ***
SO_S.GlobSamootnoshenie 18.56 5.37 245 19.21 5.20 286 -1.40 0.163
SO_I.Samouvazhenie 8.61 3.09 245 9.24 3.13 286 -2.32 0.021 *
SO_II.Autosimpatiya 8.43 3.17 245 8.29 3.06 286 0.51 0.609
SO_III.OzhidOtnoshenie 8.20 2.63 245 8.37 2.30 286 -0.82 0.410
SO_IV.Samointeres 5.67 1.72 245 5.75 1.88 286 -0.48 0.632
SO_1.Samouverennost 4.52 1.64 244 4.46 1.64 286 0.44 0.660
SO_2.OtnoshenieDrugih 5.29 1.77 245 5.33 1.71 286 -0.28 0.780
SO_3.Samoprinyatie 4.66 1.84 245 4.56 2.00 286 0.57 0.572
SO_4.Samorukovodstvo 4.04 1.30 245 4.28 1.19 286 -2.20 0.028 *
SO_5.Samoobvinenie 4.35 2.01 245 4.12 2.15 286 1.27 0.206
SO_6.Samointeres 5.11 1.65 245 5.31 1.44 286 -1.48 0.141
SO_7.Samoponimanie 3.04 1.50 245 3.31 1.62 286 -2.02 0.044 *
SP_Konfrontaciya 57.28 19.73 174 50.65 15.71 238 3.66 <0.001 ***
SP_Distancirovanie 58.94 19.19 174 49.51 17.63 238 5.10 <0.001 ***
SP_Samokontrol 66.15 17.92 174 60.32 15.11 238 3.48 <0.001 ***
SP_PoiskCocPodderzhki 62.42 21.39 174 59.25 18.37 238 1.58 0.116
SP_PrinyatieOtvetstv 66.66 18.72 173 61.31 19.36 238 2.82 0.005 **
SP_BegstvoIzbeganie 55.76 19.31 172 46.61 17.75 237 4.90 <0.001 ***
SP_Planirovanie 69.99 22.18 174 67.72 17.25 238 1.12 0.262
SP_PolPereocenka 70.58 20.50 174 57.86 16.36 238 6.76 <0.001 ***
ZhS_Vovlechennost 30.59 8.55 161 31.96 9.80 211 -1.43 0.153
ZhS_Kontrol 27.97 7.94 161 30.62 11.02 211 -2.69 0.007 **
ZhS_PrinyatieRiska 16.20 4.82 161 16.55 5.08 211 -0.67 0.505
ZHiznestojkost 74.76 20.03 161 79.12 22.71 211 -1.96 0.051
P_AbstractConcept 30.97 3.89 140 32.08 5.10 206 -2.28 0.023 *
P_Active.Experim 29.31 3.45 140 29.21 3.93 206 0.23 0.815
P_ConcrExperien 27.84 4.96 140 27.31 5.41 206 0.93 0.352
P_ReflectObserv 31.79 5.20 140 31.63 4.88 206 0.29 0.771

Сохранение объекта на диск.

saveRDS(Data, file = "DataRDS.RData")