Дані, що аналізуються, походять з п’ятого раунду Європейського
соціального дослідження (ЄСД), проведеного в Україні у 2011 році.
Польовий етап цього дослідження в Україні був реалізований Центром
соціальних та маркетингових досліджень SOCIS, який опитав 1931
респондента. Цільовою групою було населення країни віком від 15 років та
старше. Збір даних здійснювався методом особистого формалізованого
інтерв’ю “віч-на-віч”.
Вибірка незважувалася.
У даному дослідженні аналізується дані щодо довіри до міліції, яка функціонувала в Україні на момент збору даних. Слід зазначити, що у 2015 році в Україні відбулася реформа правоохоронних органів, внаслідок якої міліцію було реорганізовано в Національну поліцію.
Теоретичною основою для вимірювання довіри в рамках ЄСД слугує
модель, розроблена Jonathan Jackson, Mike Hough, Stephen Farrall, Jan de
Keijser та Kauko Aromaa. Вона передбачала три латентні фактори: 1)
довіра до ефективності (TrEf);
2) довіра до процесуальної справедливості (TrFa);
3) довіра до перерозподільчої справедливості (TrRs).
Довіра до ефективності поліції (Trust in police effectiveness, TrEf) вимірюється за допомогою:
Ґрунтуючись на тому, що Ви чули, або на Вашому власному досвіді, як Ви вважаєте, наскільки міліція в Україні успішна у попередженні злочинів, що пов’язані із застосуванням насильства або загрозою застосування насильства? (plcpvcr)
А наскільки, на Вашу думку, міліція в Україні успішна у затриманні грабіжників, які вчиняють пограбування квартир зі зломом? (plcpbrg)
Якщо б в районі, неподалік від місця Вашого проживання, був би скоєний злочин із застосуванням насильства або пограбування квартири, і була викликана міліція, як Ви думаєте, наскільки повільно чи швидко вона діставалися б до місця злочину? (plcarcr)
Довіра до процесуальної справедливості поліції (Trust in police procedural fairness, TrFa) вимірюється за допомогою:
Ґрунтуючись на тому, що Ви чули або на Вашому власному досвіді, як часто, на Вашу думку, міліція в Україні ставиться до людей з повагою. (plcrspc)
Як Ви вважаєте, як часто міліція в Україні приймає справедливі та неупереджені рішення стосовно тих справ, якими займається? Ви б сказали, що… (plcfrdc)
Як Ви думаєте, як часто міліція, розглядаючи справи людей в Україні, пояснює свої рішення і дії, коли її просять це зробити? Ви сказали б, що… (plcexdc)
Довіра до перерозподільчої справедливості (Trust in police distributive fairness, TrRs) вимірюється за допомогою:
Коли потерпілі звертаються в міліцію, як Ви вважаєте, чи поводиться міліція з ними гірше, якщо вони багаті люди, бідні люди, або однаково поводиться як з багатими, так і з бідними? (plcvcrp)
Як Ви вважаєте, коли потерпілі звертаються в міліцію, чи ставиться вона до деяких людей гірше через їхню расу або національність, чи ставиться до всіх однаково? (plcvcrc)
Однак, у процесі попереднього аналізу даних для української вибірки 2011 року, виникла низка методологічних та емпіричних підстав для модифікації цієї вихідної моделі, зокрема, шляхом виключення третього фактору (TrRs).
Проблеми з індикаторами фактору TrRs
Кількість індикаторів: Фактор TrRs вимірювався лише двома індикаторами (ставлення до багатих/бідних та ставлення до різних рас/національностей). У контексті структурного конфірматорного факторного аналізу (CFA) фактори, що визначаються менш ніж трьома індикаторами, часто є проблематичними з точки зору ідентифікації моделі та стабільності факторних навантажень.
Проблемне розуміння індикатора. Запитання, що стосувалося ставлення міліції до осіб різної расової чи національної приналежності, продемонструвало суттєві проблеми з розумінням серед українських респондентів у 2011 році. Це виявилося у значно вищому відсотку відповідей “важко відповісти” або пропусків порівняно з іншими індикаторами довіри.
Характер шкали індикаторів: Варіанти відповіді на два запитання представляють собою категоріальну, а не порядкову шкалу. Це ускладнює її використання в традиційних моделях CFA, які зазвичай вимагають принаймні порядкового рівня вимірювання для індикаторів латентних змінних.
Емпірична невідповідність трифакторної моделі
Попередні спроби побудувати трифакторну модель, включаючи дихотомізовані індикатори фактора TrRs, демонстрували негативну дисперсію залишків одного із індикаторів (питання щодо поводження з групами з різним матеріальним статусом) через високу тетрахоричну кореляцію змінних.
Навіть перегляд факторної структури та виключення найбільш проблемного індикатора з блоку TrRs (питання щодо поводження з групами з різною національністю) та спроби провести CFA для двофакторної структури, що складалася б з факторів TrEf та TrFa, результати все одно вказували на незадовільну відповідність моделі емпіричним даним.
Виключення фактору TrRs дозволяє побудувати більш парсимонічну (ощадливу) та емпірично обґрунтовану модель, що краще відповідає зібраним даним. Фактори TrEf та TrFa, вимірювані трьома індикаторами кожен, мають значно кращий психометричний потенціал для формування надійних та валідних латентних конструктів.
Прагнення до надійності та валідності вимірювання
Головною метою перевірки вимірювальної моделі є отримання надійних та валідних інструментів для вимірювання теоретичних конструктів. Якщо певний компонент моделі (в даному випадку фактор TrRs) демонструє слабкі психометричні властивості та проблеми з даними, його включення може радше зашкодити загальній якості моделі, ніж покращити її.
Фокусування на двох більш сильних та емпірично підтверджених факторах (TrEf та TrFa) забезпечує вищу надійність висновків щодо структури довіри до міліції в українському контексті 2011 року.
Отже, рішення про перехід до двофакторної моделі було зумовлене не теоретичними міркуваннями апріорі, а радше емпіричними проблемами, виявленими під час аналізу специфіки українських даних ЄСД 2011 року. Уточнення моделі шляхом виключення слабкого та проблемного фактору є виправданим кроком на шляху до побудови більш адекватної та надійної репрезентації досліджуваного феномену.
Імпорт даних
Вибір змінних
base_variables_to_select_two_factor <- c(
# Фактор 1: Довіра до ефективності поліції (TrEf)
"plcpvcr",
"plccbrg",
"plcarcr",
# Фактор 2: Довіра до процесуальної справедливості поліції (TrFa)
"plcrspc",
"plcfrdc",
"plcexdc"
)
# Припускаємо, що ваш датафрейм називається 'base_df'
base_PoliceData_two_factor <- base_df %>%
select(all_of(base_variables_to_select_two_factor))
base_all_labels <- var_label(base_PoliceData_two_factor)
if (length(base_all_labels) > 0 && !all(sapply(base_all_labels, is.null))) { # Перевіряємо, чи є хоч якісь мітки
cat("Формулювання запитань (мітки змінних):\n")
for (base_var_name in names(base_all_labels)) {
if (!is.null(base_all_labels[[base_var_name]])) { # Виводимо тільки якщо мітка існує
cat("Змінна:", base_var_name, "\n")
cat("Формулювання запитання:", base_all_labels[[base_var_name]], "\n\n")
} else {
cat("Змінна:", base_var_name, "- формулювання не знайдено.\n\n")
}
}
} else {
cat("Для цього датафрейму не знайдено міток змінних (формулювань запитань).\n")
cat("Переконайтеся, що ви їх призначили за допомогою var_label() або attr().\n")
}## Формулювання запитань (мітки змінних):
## Змінна: plcpvcr
## Формулювання запитання: How successful police are at preventing crimes in country
##
## Змінна: plccbrg
## Формулювання запитання: How successful police are at catching house burglars in country
##
## Змінна: plcarcr
## Формулювання запитання: How quickly would police arrive at a violent crime scene near to where you live
##
## Змінна: plcrspc
## Формулювання запитання: How often do police treat people in country with respect
##
## Змінна: plcfrdc
## Формулювання запитання: How often do police make fair, impartial decisions
##
## Змінна: plcexdc
## Формулювання запитання: How often do the police explain their decisions and actions when asked
# 1. Підрахунок NA значень для датафрейму base_PoliceData_two_factor
base_na_counts_two_factor <- colSums(is.na(base_PoliceData_two_factor))
# 2. Створення датафрейму для таблиці kable
base_df_for_kable_two_factor <- data.frame(
Variable_Name = names(base_na_counts_two_factor),
NA_Count_Value = unname(base_na_counts_two_factor)
)
# 3. Відображення таблиці за допомогою kable
kable(base_df_for_kable_two_factor,
caption = "Кількість NA значень по змінних (двофакторна модель)", # Оновлений заголовок
rownames = FALSE,
col.names = c("Змінна", "NA_Кількість")) %>%
kable_styling(full_width = FALSE, bootstrap_options = c("striped", "hover", "condensed")) %>%
column_spec(column = 1, width = "25em") %>%
column_spec(column = 2, width = "25em")| Змінна | NA_Кількість |
|---|---|
| plcpvcr | 186 |
| plccbrg | 209 |
| plcarcr | 219 |
| plcrspc | 232 |
| plcfrdc | 386 |
| plcexdc | 394 |
# Змінні, які нас цікавлять
target_variables <- c("plcvcrp", "plcvcrc")
cat("Детальний аналіз змінних:\n\n")## Детальний аналіз змінних:
for (var_name in target_variables) {
cat("------------------------------------\n")
cat("Змінна:", var_name, "\n")
cat("------------------------------------\n")
# Перевірка, чи існує змінна в датафреймі
if (var_name %in% names(base_df)) {
# Отримання та виведення формулювання запитання (мітки)
# Використовуємо `tryCatch` для безпечного отримання мітки,
# оскільки `var_label` може повернути помилку, якщо змінна не "labelled"
# або якщо пакет `labelled` не завантажений.
# Альтернативно, можна використовувати attr(base_PoliceData_two_factor[[var_name]], "label")
question_label <- NULL # Ініціалізація
if (requireNamespace("labelled", quietly = TRUE)) {
question_label <- labelled::var_label(base_df[[var_name]])
} else { # Якщо пакет labelled не доступний, спробуємо стандартний атрибут
question_label <- attr(base_df[[var_name]], "label")
}
if (!is.null(question_label) && !is.na(question_label) && nzchar(question_label)) {
cat("Формулювання запитання:", question_label, "\n")
} else {
cat("Формулювання запитання: не знайдено або порожнє для цієї змінної.\n")
}
# Підрахунок та виведення кількості NA
num_na <- sum(is.na(base_df[[var_name]]))
cat("Кількість пропущених значень (NA):", num_na, "\n\n")
} else {
cat("Помилка: Змінна '", var_name, "' не знайдена у датафреймі 'base_df'.\n\n", sep = "")
}
}## ------------------------------------
## Змінна: plcvcrp
## ------------------------------------
## Формулювання запитання: How police treat victims of crime: Rich/poor
## Кількість пропущених значень (NA): 230
##
## ------------------------------------
## Змінна: plcvcrc
## ------------------------------------
## Формулювання запитання: How police treat victims of crime: Different races/ethnic groups
## Кількість пропущених значень (NA): 601
Очищення від NA
# 1. Видалення рядків з будь-якими NA значеннями
base_PoliceData_two_factor_clean <- na.omit(base_PoliceData_two_factor)
cat("Розмірність base_PoliceData_two_factor після na.omit:", dim(base_PoliceData_two_factor_clean), "\n")## Розмірність base_PoliceData_two_factor після na.omit: 1176 6
base_PoliceData_final <- base_PoliceData_two_factor_clean %>%
filter(
plcpvcr >= 0 & plcpvcr <= 10,
plccbrg >= 0 & plccbrg <= 10,
plcarcr >= 0 & plcarcr <= 10,
plcexdc != 5 # Припускаю, що це правильна умова, оскільки вона вже була
)
base_final_variables_to_keep <- c(
"plcpvcr", "plccbrg", "plcarcr",
"plcrspc", "plcfrdc", "plcexdc"
)
base_PoliceData_model_ready <- base_PoliceData_final %>%
select(all_of(base_final_variables_to_keep))
cat("Розмірність датафрейму base_PoliceData_model_ready після відбору змінних:", dim(base_PoliceData_model_ready), "\n")## Розмірність датафрейму base_PoliceData_model_ready після відбору змінних: 998 6
## Назви стовпців у base_PoliceData_model_ready:
## [1] "plcpvcr" "plccbrg" "plcarcr" "plcrspc" "plcfrdc" "plcexdc"
## How successful police are at preventing crimes in country (plcpvcr) <numeric>
## # total N=998 valid N=998 mean=3.54 sd=2.13
##
## Value | Label | N | Raw % | Valid % | Cum. %
## ---------------------------------------------------------------
## 0 | Extremely unsuccessful | 108 | 10.82 | 10.82 | 10.82
## 1 | 01 | 82 | 8.22 | 8.22 | 19.04
## 2 | 02 | 122 | 12.22 | 12.22 | 31.26
## 3 | 03 | 192 | 19.24 | 19.24 | 50.50
## 4 | 04 | 132 | 13.23 | 13.23 | 63.73
## 5 | 05 | 200 | 20.04 | 20.04 | 83.77
## 6 | 06 | 77 | 7.72 | 7.72 | 91.48
## 7 | 07 | 56 | 5.61 | 5.61 | 97.09
## 8 | 08 | 18 | 1.80 | 1.80 | 98.90
## 9 | 09 | 9 | 0.90 | 0.90 | 99.80
## 10 | Extremely successful | 2 | 0.20 | 0.20 | 100.00
## 77 | Refusal | 0 | 0.00 | 0.00 | 100.00
## 88 | Don't know | 0 | 0.00 | 0.00 | 100.00
## 99 | No answer | 0 | 0.00 | 0.00 | 100.00
## <NA> | <NA> | 0 | 0.00 | <NA> | <NA>
##
## How successful police are at catching house burglars in country (plccbrg) <numeric>
## # total N=998 valid N=998 mean=3.62 sd=2.17
##
## Value | Label | N | Raw % | Valid % | Cum. %
## ---------------------------------------------------------------
## 0 | Extremely unsuccessful | 94 | 9.42 | 9.42 | 9.42
## 1 | 01 | 85 | 8.52 | 8.52 | 17.94
## 2 | 02 | 131 | 13.13 | 13.13 | 31.06
## 3 | 03 | 190 | 19.04 | 19.04 | 50.10
## 4 | 04 | 129 | 12.93 | 12.93 | 63.03
## 5 | 05 | 189 | 18.94 | 18.94 | 81.96
## 6 | 06 | 75 | 7.52 | 7.52 | 89.48
## 7 | 07 | 67 | 6.71 | 6.71 | 96.19
## 8 | 08 | 24 | 2.40 | 2.40 | 98.60
## 9 | 09 | 12 | 1.20 | 1.20 | 99.80
## 10 | Extremely successful | 2 | 0.20 | 0.20 | 100.00
## 77 | Refusal | 0 | 0.00 | 0.00 | 100.00
## 88 | Don't know | 0 | 0.00 | 0.00 | 100.00
## 99 | No answer | 0 | 0.00 | 0.00 | 100.00
## <NA> | <NA> | 0 | 0.00 | <NA> | <NA>
##
## How quickly would police arrive at a violent crime scene near to where you live (plcarcr) <numeric>
## # total N=998 valid N=998 mean=3.98 sd=2.34
##
## Value | Label | N | Raw % | Valid % | Cum. %
## ----------------------------------------------------------------------------------------
## 0 | Extremely slowly | 82 | 8.22 | 8.22 | 8.22
## 1 | 1 | 68 | 6.81 | 6.81 | 15.03
## 2 | 2 | 122 | 12.22 | 12.22 | 27.25
## 3 | 3 | 187 | 18.74 | 18.74 | 45.99
## 4 | 4 | 113 | 11.32 | 11.32 | 57.31
## 5 | 5 | 192 | 19.24 | 19.24 | 76.55
## 6 | 6 | 70 | 7.01 | 7.01 | 83.57
## 7 | 7 | 85 | 8.52 | 8.52 | 92.08
## 8 | 8 | 50 | 5.01 | 5.01 | 97.09
## 9 | 9 | 18 | 1.80 | 1.80 | 98.90
## 10 | Extremely quickly | 11 | 1.10 | 1.10 | 100.00
## 55 | Violent crimes never occur near to where I live | 0 | 0.00 | 0.00 | 100.00
## 77 | Refusal | 0 | 0.00 | 0.00 | 100.00
## 88 | Don't know | 0 | 0.00 | 0.00 | 100.00
## 99 | No answer | 0 | 0.00 | 0.00 | 100.00
## <NA> | <NA> | 0 | 0.00 | <NA> | <NA>
##
## How often do police treat people in country with respect (plcrspc) <numeric>
## # total N=998 valid N=998 mean=1.97 sd=0.70
##
## Value | Label | N | Raw % | Valid % | Cum. %
## ---------------------------------------------------------
## 1 | Not at all often | 241 | 24.15 | 24.15 | 24.15
## 2 | Not very often | 565 | 56.61 | 56.61 | 80.76
## 3 | Often | 174 | 17.43 | 17.43 | 98.20
## 4 | Very often | 18 | 1.80 | 1.80 | 100.00
## 7 | Refusal | 0 | 0.00 | 0.00 | 100.00
## 8 | Don't know | 0 | 0.00 | 0.00 | 100.00
## 9 | No answer | 0 | 0.00 | 0.00 | 100.00
## <NA> | <NA> | 0 | 0.00 | <NA> | <NA>
##
## How often do police make fair, impartial decisions (plcfrdc) <numeric>
## # total N=998 valid N=998 mean=1.96 sd=0.67
##
## Value | Label | N | Raw % | Valid % | Cum. %
## ---------------------------------------------------------
## 1 | Not at all often | 233 | 23.35 | 23.35 | 23.35
## 2 | Not very often | 587 | 58.82 | 58.82 | 82.16
## 3 | Often | 166 | 16.63 | 16.63 | 98.80
## 4 | Very often | 12 | 1.20 | 1.20 | 100.00
## 7 | Refusal | 0 | 0.00 | 0.00 | 100.00
## 8 | Don't know | 0 | 0.00 | 0.00 | 100.00
## 9 | No answer | 0 | 0.00 | 0.00 | 100.00
## <NA> | <NA> | 0 | 0.00 | <NA> | <NA>
##
## How often do the police explain their decisions and actions when asked (plcexdc) <numeric>
## # total N=998 valid N=998 mean=1.90 sd=0.68
##
## Value | Label | N | Raw % | Valid % | Cum. %
## -------------------------------------------------------------------------------
## 1 | Not at all often | 269 | 26.95 | 26.95 | 26.95
## 2 | Not very often | 570 | 57.11 | 57.11 | 84.07
## 3 | Often | 146 | 14.63 | 14.63 | 98.70
## 4 | Very often | 13 | 1.30 | 1.30 | 100.00
## 5 | No one ever asks the police to explain | 0 | 0.00 | 0.00 | 100.00
## 7 | Refusal | 0 | 0.00 | 0.00 | 100.00
## 8 | Don't know | 0 | 0.00 | 0.00 | 100.00
## 9 | No answer | 0 | 0.00 | 0.00 | 100.00
## <NA> | <NA> | 0 | 0.00 | <NA> | <NA>
base_PoliceDataUA <- data.frame(lapply(base_PoliceData_model_ready, as.numeric))
descr(base_PoliceDataUA, stats = c("mean", "sd", "min", "med", "max", "iqr", "cv", "skewness"))## Descriptive Statistics
## base_PoliceDataUA
## N: 998
##
## plcarcr plccbrg plcexdc plcfrdc plcpvcr plcrspc
## -------------- --------- --------- --------- --------- --------- ---------
## Mean 3.98 3.62 1.90 1.96 3.54 1.97
## Std.Dev 2.34 2.17 0.68 0.67 2.13 0.70
## Min 0.00 0.00 1.00 1.00 0.00 1.00
## Median 4.00 3.00 2.00 2.00 3.00 2.00
## Max 10.00 10.00 4.00 4.00 10.00 4.00
## IQR 3.00 3.00 1.00 0.00 3.00 0.00
## CV 0.59 0.60 0.36 0.34 0.60 0.35
## Skewness 0.23 0.18 0.37 0.29 0.12 0.36
base_ordered_vars <- c("plcexdc", "plcfrdc" , "plcrspc")
base_cor_matrix <- lavCor(base_PoliceDataUA, ordered = base_ordered_vars)
# kable(round(base_cor_matrix, 2), caption = "Кореляційна матриця") %>% kable_styling()
corrplot(base_cor_matrix, method = "color", type = "full",
order = "original", tl.col = "darkgray", tl.cex = 0.8,
number.cex = 0.7, addCoef.col = "darkgray")Специфікація моделі CFA
base_Model <- "
# Фактор 1: Довіра до ефективності поліції (TrEf)
TrEf =~ plcpvcr + plccbrg + plcarcr
# Фактор 2: Довіра до процесуальної справедливості поліції (TrFa)
TrFa =~ plcrspc + plcfrdc + plcexdc
"base_FittedModel <- cfa(model = base_Model, data = base_PoliceDataUA, ordered = base_ordered_vars, std.lv = TRUE)
summary(base_FittedModel, fit.measures = TRUE, standardized = TRUE, rsquare = TRUE)## lavaan 0.6-19 ended normally after 22 iterations
##
## Estimator DWLS
## Optimization method NLMINB
## Number of model parameters 22
##
## Number of observations 998
##
## Model Test User Model:
## Standard Scaled
## Test Statistic 7.581 40.933
## Degrees of freedom 8 8
## P-value (Chi-square) 0.475 0.000
## Scaling correction factor 0.192
## Shift parameter 1.470
## simple second-order correction
##
## Model Test Baseline Model:
##
## Test statistic 10680.028 4525.559
## Degrees of freedom 15 15
## P-value 0.000 0.000
## Scaling correction factor 2.364
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 1.000 0.993
## Tucker-Lewis Index (TLI) 1.000 0.986
##
## Robust Comparative Fit Index (CFI) NA
## Robust Tucker-Lewis Index (TLI) NA
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.000 0.064
## 90 Percent confidence interval - lower 0.000 0.046
## 90 Percent confidence interval - upper 0.036 0.084
## P-value H_0: RMSEA <= 0.050 0.997 0.100
## P-value H_0: RMSEA >= 0.080 0.000 0.103
##
## Robust RMSEA NA
## 90 Percent confidence interval - lower NA
## 90 Percent confidence interval - upper NA
## P-value H_0: Robust RMSEA <= 0.050 NA
## P-value H_0: Robust RMSEA >= 0.080 NA
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.023 0.023
##
## Parameter Estimates:
##
## Parameterization Delta
## Standard errors Robust.sem
## Information Expected
## Information saturated (h1) model Unstructured
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## TrEf =~
## plcpvcr 1.805 0.067 27.013 0.000 1.805 0.847
## plccbrg 1.829 0.068 26.899 0.000 1.829 0.844
## plcarcr 1.860 0.074 25.062 0.000 1.860 0.794
## TrFa =~
## plcrspc 0.836 0.013 62.915 0.000 0.836 0.836
## plcfrdc 0.915 0.011 84.465 0.000 0.915 0.915
## plcexdc 0.854 0.012 73.130 0.000 0.854 0.854
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## TrEf ~~
## TrFa 0.708 0.022 32.779 0.000 0.708 0.708
##
## Intercepts:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .plcpvcr 3.536 0.068 52.171 0.000 3.536 1.660
## .plccbrg 3.624 0.069 52.198 0.000 3.624 1.672
## .plcarcr 3.980 0.076 52.669 0.000 3.980 1.698
##
## Thresholds:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## plcrspc|t1 -0.702 0.043 -16.144 0.000 -0.702 -0.702
## plcrspc|t2 0.869 0.046 19.038 0.000 0.869 0.869
## plcrspc|t3 2.096 0.095 22.053 0.000 2.096 2.096
## plcfrdc|t1 -0.727 0.044 -16.626 0.000 -0.727 -0.727
## plcfrdc|t2 0.922 0.046 19.833 0.000 0.922 0.922
## plcfrdc|t3 2.256 0.110 20.452 0.000 2.256 2.256
## plcexdc|t1 -0.614 0.043 -14.439 0.000 -0.614 -0.614
## plcexdc|t2 0.997 0.048 20.877 0.000 0.997 0.997
## plcexdc|t3 2.225 0.107 20.782 0.000 2.225 2.225
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .plcpvcr 1.280 0.089 14.437 0.000 1.280 0.282
## .plccbrg 1.355 0.089 15.197 0.000 1.355 0.288
## .plcarcr 2.033 0.115 17.681 0.000 2.033 0.370
## .plcrspc 0.300 0.300 0.300
## .plcfrdc 0.163 0.163 0.163
## .plcexdc 0.271 0.271 0.271
## TrEf 1.000 1.000 1.000
## TrFa 1.000 1.000 1.000
##
## R-Square:
## Estimate
## plcpvcr 0.718
## plccbrg 0.712
## plcarcr 0.630
## plcrspc 0.700
## plcfrdc 0.837
## plcexdc 0.729
library(webshot)
library(htmlwidgets)
# Створюємо графік
base_pl_fit.measures.m <- nice_lavaanPlot(
model = base_FittedModel,
coefs = TRUE,
stand = TRUE,
covs = TRUE,
stars = c("coefs", "covs", "latent")
)
base_pl_fit.measures.m # Зберігаємо як HTML
# saveWidget(base_pl_fit.measures.m, "temp_plot.html", selfcontained = TRUE)
# Або з конкретними розмірами обрізання
# webshot("temp_plot.html", "my_cfa_plot_cropped.jpeg",
# vwidth = 1200, vheight = 600, # Менша висота
# zoom = 2,
# cliprect = c(0, 0, 1200, 600)) # x, y, width, height
# file.remove("temp_plot.html")base_reliability_scores <- round(semTools::reliability(base_FittedModel), 2)
print(base_reliability_scores)## TrEf TrFa
## alpha 0.87 0.85
## alpha.ord NA 0.90
## omega 0.87 0.83
## omega2 0.87 0.83
## omega3 0.86 0.83
## avevar 0.68 0.76
Джерело даних
European Social Survey (ESS). (2011). European Social Survey Round 5 Data (Data file edition 3.4). NSD - Norwegian Center for Research Data.