Introduction

The Theory of Basic Human Values is a widely recognized framework in social psychology that aims to uncover the key values that drive human behavior and motivation. This theory offers a detailed system for classifying and exploring the fundamental goals and aspirations that influence individuals and societies across various cultures and settings. According to Shalom Schwartz’s theory of values, individuals are guided by a set of values that shape their behavior, attitudes, and preferences [Schwartz, 1992; Schwartz, 2012]. This scientific approach allows researchers to examine how values impact individuals’ attitudes and decision-making processes.

There are ten basic types of values that are universally recognized across cultures. These values include: self-direction, stimulation, hedonism, achievement, power, security, conformity, tradition, benevolence, and universalism.

The circumplex model of values further categorizes these ten basic values into four higher-order dimensions:

Openness to Change: This dimension encompasses values such as self-direction and stimulation, which prioritize intellectual curiosity, autonomy, and a preference for novel experiences.

Self-Enhancement: This dimension groups values like hedonism, achievement, and power. These values focus on personal success, mastery, social status, and the pursuit of pleasure.

Conservation: This dimension incorporates values such as security, conformity, and tradition. These values emphasize order, stability, self-preservation, and adherence to social norms and customs.

Self-Transcendence: This dimension includes values like benevolence and universalism. These values prioritize the welfare of others, social justice, and environmental protection.

Alternatively, these ten values can be organized into two broader dimensions:

Social Focus: This dimension encompasses values that prioritize social welfare, stability, and collective well-being, including universalism, benevolence, conformity, tradition, and security.

Personal Focus: This dimension includes values that emphasize individual autonomy, achievement, and personal gratification, comprising self-direction, stimulation, hedonism, achievement, and power.

Shalom Schwartz’s Portrait Values Questionnaire (PVQ) has been used in numerous studies. However, the results did not always correspond to the theory, which may depend on the questionnaires, samples, and statistical methods used. Note that empirical data often showed a quasi-circumplex structure, with a certain organization of values resembling a circular pattern, but with some deviations from the typical circular structure.

The value theory has been applied in cross-cultural studies to analyze and compare value preferences across different cultures. This study builds on this framework and aims to explore the validity of Schwartz’s theory through the use of the World Values Survey (WVS) data for countries worldwide and Ukraine specifically.

Data and Methods

Schwartz’s theory of values was tested using data from the WVS [Inglehart et al., 2014]. The WVS used a shortened version of the PVQ (10-item PVQ). Respondents were provided with the following instructions: “Now I will briefly describe some people. Using this card, would you please indicate for each description whether that person is very much like you, like you, somewhat like you, not like you, or not at all like you?”

The table below provides a summary of the values, variables, and questionnaire items.

Value Variable Item
Self-Direction (самоспрямування) sdi It is important to this person to think up new ideas and be creative; to do things one’s own way (Для цієї людини важливо пропонувати нові ідеї, бути творчою особистістю, йти своїм шляхом).
Stimulation (стимуляція) sti Adventure and taking risks are important to this person; to have an exciting life (Пригоди і ризик дуже важливі для цієї людини, він прагне до життя, повного захоплюючих подій).
Hedonism (гедонізм) hed It is important to this person to have a good time; to “spoil” oneself (Для цієї людини важливо добре проводити час, балувати себе).
Achievement (досягнення) ach Being very successful is important to this person; to have people recognize one’s achievements (Для цієї людини важливо бути дуже успішним, щоб оточення знало про його досягнення).
Power (влада) pow It is important to this person to be rich; to have a lot of money and expensive things (Для цієї людини важливо бути багатим, мати багато грошей і коштовних речей).
Security (безпека) sec Living in secure surroundings is important to this person; to avoid anything that might be dangerous (Жити в безпеці дуже важливо для цієї людини, він уникає усього, що може передбачати небезпеку).
Conformity (конформність) con It is important to this person to always behave properly; to avoid doing anything people would say is wrong (Для цієї людини важливо завжди поводитися правильно, не здійснювати вчинків, які люди не схвалили б).
Tradition (традиція) tra Tradition is important to this person; to follow the customs handed down by one’s religion or family (Для цієї людини важливо наслідувати традиції і звичаї, прийняті в його родині або релігії).
Benevolence (доброзичливість) ben It is important to this person to do something for the good of society (Для цієї людини важливо робити щось корисне для суспільства).
Universalism (універсалізм) uni Looking after the environment is important to this person; to care for nature and save life resources (Для цієї людини важлива турбота про довкілля і природу, збереження природних ресурсів).

Respondents completed the PVQ-10 using a Likert scale with the following response options and corresponding scores: very much like me (1), like me (2), somewhat like me (3), a little like me (4), not like me (5), not at all like me (6).

The following table presents abbreviations for value dimensions, their names in Ukrainian, and corresponding variable names:

Abbreviation Value Dimension Variables
Social Focus Соціальний фокус uni (універсалізм), ben (доброзичливість), con (конформність), sec (безпека), tra (традиція)
Personal Focus Персональний фокус sdi (самоcпрямування), sti (стимуляція), hed (гедонізм), ach (досягнення), pow (влада)

The original PVQ-10 uses a 6-point Likert scale where lower values indicate greater importance (1 = “very much like me” to 6 = “not at all like me”). To facilitate interpretation, all items were reverse-coded using the transformation: Recoded Value = 7 - Original Value. This transformation ensures that higher scores reflect stronger endorsement of the corresponding value, which is more intuitive for analysis and interpretation.

Sample Characteristics

World Countries Sample: The analysis encompasses data from 58 countries with a total sample size of 79,770 respondents (weighted n = 79,796). The data were collected as part of Wave 6 of the World Values Survey conducted between 2010-2014.

Ukraine Sample: A subsample of 1,500 Ukrainian respondents was extracted from the pooled dataset. The Ukrainian survey was conducted in 2011, representing a critical period in the country’s recent history.

In order to test the hypothesis of a quasi-circular structure of values in countries worldwide and in Ukraine, multidimensional scaling (MDS) was used first, which allows analysis of correlations between variables and their projection into two-dimensional space.

In addition, Exploratory Graph Analysis (EGA) allows the identification of groups of correlated variables. Item Cluster Analysis (ICLUST) is a method for identifying clusters of items that are highly correlated with each other, and the dendrogram shows how the items are grouped together at each level of the hierarchy. Clusters may serve as the basis for delineating scales. Exploratory Factor Analysis (EFA) assumes that latent variables define indicators. EFA is used as one variant of Exploratory Structural Equation Modeling (ESEM).

In MDS, stress is an indicator of model quality. Stress is a measure of the discrepancy between the distances in the original data and the distances obtained in multidimensional scaling. The lower the stress value, the better the model fits the original data.

The following approximate criteria can be used to evaluate the stress value: - A stress value of less than 0.05 is considered excellent, meaning that the model fits the original data very well. - A stress value between 0.05 and 0.10 is considered good. This indicates that the model is acceptable but not perfect. - A score above 0.10 is considered fair to poor and indicates that there is a significant discrepancy between the original data and the model.

In structural equation modeling, several fit indices are commonly used to assess how well the proposed model fits the observed data. Here’s a brief overview of each and their cut-off criteria:

Root Mean Square Error of Approximation (RMSEA) measures the discrepancy between the observed covariance matrix and the model-implied covariance matrix per degree of freedom. An RMSEA between 0.05 and 0.08 suggests fair fit, while an RMSEA less than or equal to 0.05 indicates good fit.

Tucker-Lewis Index (TLI) compares the difference in chi-square values between the proposed model and a null model. A TLI value between 0.90 and 0.95 suggests fair fit, while a value greater than or equal to 0.95 indicates good fit.

Comparative Fit Index (CFI) is similar to the TLI but is based on the non-centrality parameter. A CFI value between 0.90 and 0.95 suggests fair fit, while a value greater than or equal to 0.95 indicates good fit.

Standardized Root Mean Square Residual (SRMR) measures the average standardized difference between the observed and model-implied covariance matrices. An SRMR between 0.05 and 0.08 suggests fair fit, while an SRMR of 0.05 or lower indicates good fit.

Cronbach’s alpha is a measure used to assess how consistently a scale or group of items measure the same construct. Essentially, it shows how well the items in the assessment target the same underlying construct. Cronbach’s alpha values of 0.7 or above indicate good internal consistency.

Testing Schwartz’s Value Theory for the World

rm(list=ls())

# Load required packages
library(haven)  # Reading data files
library(dplyr)  # Data transformation and manipulation
library(tidyr)  # Data tidying and transformation
library(stats)  # Pearson correlation
library(heatmaply) # Heatmap  of correlation
library(sjmisc)  # Descriptive statistics
library(kableExtra) # Formatting of tables 
library(smacof)  # Multidimensional scaling
library(ggplot2) # Plotting data
library(EGAnet) # Exploratory graph analysis
library(psych)  # Item cluster analysis
library(lavaan) # Structural equation modeling
library(knitr)  # Report generation 
library(semPlot)  # Visualization of structural equation models
# Load the dataset
dataset_W <- read_sav("D:/Documents/2024/Values/WV6_Data_sav_v20201117.sav")
# Filter variables V70-V79, C_COW_ALPHA, V258 from the dataset and transform
values_W <- dataset_W %>%
  select(V70:V74, V75:V79, C_COW_ALPHA, V258) %>%
  na.omit() %>%
  mutate(
    sdi = 7 - V70,    # Self-Direction
    pow = 7 - V71,    # Power
    sec = 7 - V72,    # Security
    hed = 7 - V73,    # Hedonism
    uni = 7 - V74,    # Universalism
    ach = 7 - V75,    # Achievement
    sti = 7 - V76,    # Stimulation
    con = 7 - V77,    # Conformity
    ben = 7 - V78,    # Benevolence
    tra = 7 - V79     # Tradition
  ) %>%
  rename(country = C_COW_ALPHA, wt = V258) %>%
  select(sdi, sti, hed, ach, pow, sec, con, tra, ben, uni, country, wt)

Descriptive Statistics of PVQ-10 Items for World Countries

# Unweighted count of observations
nrow_values_W <- nrow(values_W) # 79770
cat("Unweighted count of observations:", nrow_values_W, "\n")
## Unweighted count of observations: 79770
# Weighted count of observations
nwt_W <- round(sum(values_W$wt), 0)
cat("Weighted count of observations:", nwt_W, "\n") # 79796
## Weighted count of observations: 79796
# Number of countries
n_countries <- length(unique(values_W$country)) # 58
cat("Number of countries:", n_countries, "\n")
## Number of countries: 58
options(max.print = 10000)

cat("\nNumber of respondents in each country:\n")
## 
## Number of respondents in each country:
frq(as_factor(values_W$country), weights = values_W$wt)
## Country code CoW alpha (xw) <categorical> 
## # total N=79796 valid N=79796 mean=29.68 sd=16.34
## 
## Value |    N | Raw % | Valid % | Cum. %
## ---------------------------------------
## ALG   | 1033 |  1.29 |    1.29 |   1.29
## ARG   |  975 |  1.22 |    1.22 |   2.52
## ARM   | 1025 |  1.28 |    1.28 |   3.80
## AUL   | 1433 |  1.80 |    1.80 |   5.60
## AZE   | 1002 |  1.26 |    1.26 |   6.85
## BLR   | 1498 |  1.88 |    1.88 |   8.73
## BRA   | 1450 |  1.82 |    1.82 |  10.55
## COL   | 1490 |  1.87 |    1.87 |  12.41
## CYP   |  961 |  1.20 |    1.20 |  13.62
## CHL   |  896 |  1.12 |    1.12 |  14.74
## CHN   | 2132 |  2.67 |    2.67 |  17.41
## ECU   | 1199 |  1.50 |    1.50 |  18.92
## EGY   | 1523 |  1.91 |    1.91 |  20.82
## EST   | 1449 |  1.82 |    1.82 |  22.64
## GRG   | 1171 |  1.47 |    1.47 |  24.11
## GMY   |  999 |  1.25 |    1.25 |  25.36
## GHA   | 1552 |  1.94 |    1.94 |  27.30
## HAI   | 1957 |  2.45 |    2.45 |  29.76
## HKG   |  978 |  1.23 |    1.23 |  30.98
## IND   | 2950 |  3.70 |    3.70 |  34.68
## IRQ   | 1127 |  1.41 |    1.41 |  36.09
## JPN   | 1862 |  2.33 |    2.33 |  38.43
## JOR   | 1180 |  1.48 |    1.48 |  39.90
## KZK   | 1500 |  1.88 |    1.88 |  41.78
## KUW   | 1128 |  1.41 |    1.41 |  43.20
## KYR   | 1469 |  1.84 |    1.84 |  45.04
## LEB   | 1091 |  1.37 |    1.37 |  46.41
## LIB   | 1947 |  2.44 |    2.44 |  48.85
## MAL   | 1300 |  1.63 |    1.63 |  50.47
## MEX   | 1974 |  2.47 |    2.47 |  52.95
## NTH   | 1709 |  2.14 |    2.14 |  55.09
## NEW   |  800 |  1.00 |    1.00 |  56.09
## NIG   | 1759 |  2.20 |    2.20 |  58.30
## PAK   | 1108 |  1.39 |    1.39 |  59.69
## PSE   |  939 |  1.18 |    1.18 |  60.86
## PER   | 1092 |  1.37 |    1.37 |  62.23
## PHI   | 1195 |  1.50 |    1.50 |  63.73
## POL   |  904 |  1.13 |    1.13 |  64.86
## QAT   | 1051 |  1.32 |    1.32 |  66.18
## ROM   | 1379 |  1.73 |    1.73 |  67.91
## RUS   | 1398 |  1.75 |    1.75 |  69.66
## RWA   | 1527 |  1.91 |    1.91 |  71.57
## SIN   | 1969 |  2.47 |    2.47 |  74.04
## SLV   | 1037 |  1.30 |    1.30 |  75.34
## ROK   | 1149 |  1.44 |    1.44 |  76.78
## SAF   | 3405 |  4.27 |    4.27 |  81.05
## SWD   | 1168 |  1.46 |    1.46 |  82.51
## TAW   | 1155 |  1.45 |    1.45 |  83.96
## THI   | 1167 |  1.46 |    1.46 |  85.42
## TRI   |  937 |  1.17 |    1.17 |  86.59
## TUN   | 1040 |  1.30 |    1.30 |  87.90
## TUR   | 1534 |  1.92 |    1.92 |  89.82
## UKR   | 1500 |  1.88 |    1.88 |  91.70
## USA   | 2115 |  2.65 |    2.65 |  94.35
## URU   |  923 |  1.16 |    1.16 |  95.51
## UZB   | 1310 |  1.64 |    1.64 |  97.15
## YEM   |  776 |  0.97 |    0.97 |  98.12
## ZIM   | 1499 |  1.88 |    1.88 | 100.00
## <NA>  |    0 |  0.00 |    <NA> |   <NA>
cat("\nDescriptive statistics of PVQ-10 items for World Countries\n")
## 
## Descriptive statistics of PVQ-10 items for World Countries
cat("Note: The scale has been recoded so that higher scores reflect stronger endorsement of the value\n\n")
## Note: The scale has been recoded so that higher scores reflect stronger endorsement of the value
descr(values_W[1:10], weights = values_W$wt) %>%
  kbl(row.names = FALSE, digits = 2) %>%
  kable_styling()
var type label n NA.prc mean sd se range iqr skew
sdi numeric sdi 79796 0 4.23 1.42 0.01 5 (1-6) 2 -0.52
sti numeric sti 79796 0 3.31 1.60 0.01 5 (1-6) 3 0.17
hed numeric hed 79796 0 3.80 1.54 0.01 5 (1-6) 2 -0.19
ach numeric ach 79796 0 4.11 1.45 0.01 5 (1-6) 2 -0.42
pow numeric pow 79796 0 3.25 1.55 0.01 5 (1-6) 2 0.22
sec numeric sec 79796 0 4.64 1.30 0.00 5 (1-6) 2 -0.84
con numeric con 79796 0 4.47 1.36 0.00 5 (1-6) 2 -0.71
tra numeric tra 79796 0 4.47 1.43 0.01 5 (1-6) 2 -0.73
ben numeric ben 79796 0 4.47 1.30 0.00 5 (1-6) 2 -0.69
uni numeric uni 79796 0 4.54 1.24 0.00 5 (1-6) 2 -0.69

Correlation Analysis of PVQ-10 Items for World Countries

# Compute weighted correlations between items
weighted_corr_W <- cov.wt(values_W[1:10], wt = values_W$wt, cor = TRUE)
cor.mat_W <- round(weighted_corr_W$cor, 3)

par(font.main = 1, cex.main = 1)

heatmaply_cor(
  round(weighted_corr_W$cor, 2),
  colors = cool_warm,
  symm = TRUE,
  hclust_method="average",
  Rowv = NA,
  Colv = NA,
  xlab = 'Values',
  ylab = 'Values',
  main = 'Correlation Heatmap of PVQ-10 Items for World Countries',
  width = 600, 
  height = 500
)

Multidimensional Scaling of PVQ-10 Items for World Countries

# Convert correlations to Euclidean distances
dst_W <- sim2diss(cor.mat_W, method = "corr")

# Non-metric multidimensional scaling with two dimensions
map_W <- mds(delta = dst_W, ndim = 2, type = "ordinal")

Stress_W <- round(map_W$stress, 3)
cat("MDS Stress value:", Stress_W, "\n")
## MDS Stress value: 0.069

Spatial Configuration of PVQ-10 Items for World Countries

# Proximity plot of values for world countries
pl_W <- as.data.frame(map_W$conf)
pl_W$Values <- rownames(pl_W)

ggplot(pl_W, aes(x = D1, y = D2, label = Values)) +
  geom_point(alpha = 0.5) +  
  geom_text(nudge_x = 0.1, nudge_y = 0.1, size = 5, alpha = 0.8) +  
  xlim(-1, 1) +  
  ylim(-1, 1) +  
  theme_void() +  
  theme(
    panel.background = element_rect(fill = "transparent"), 
    plot.background = element_rect(fill = "transparent")
  ) +  
  annotate("text", x = -0.5, y = 1.0, label = "Openness to Change", 
           fontface = 2, alpha = 0.7) +
  annotate("text", x = 0.5, y = -1.0, label = "Conservation", 
           fontface = 2, alpha = 0.7) +
  annotate("text", x = 1.0, y = 0.5, label = "Self-Transcendence", 
           fontface = 2, angle = 90, alpha = 0.7) +
  annotate("text", x = -1.0, y = -0.5, label = "Self-Enhancement", 
           fontface = 2, angle = 90, alpha = 0.7)

Exploratory Graph Analysis of PVQ-10 Items for World Countries

# Exploratory graph analysis of the PVQ-10 items
EGA(data = cor.mat_W, n = nwt_W, plot.EGA = TRUE)

## Model: GLASSO (EBIC with gamma = 0.5)
## Correlations: auto
## Lambda: 0.0447 (n = 100, ratio = 0.1)
## 
## Number of nodes: 10
## Number of edges: 35
## Edge density: 0.778
## 
## Non-zero edge weights: 
##      M    SD    Min   Max
##  0.103 0.069 -0.041 0.243
## 
## ----
## 
## Algorithm:  Walktrap
## 
## Number of communities:  2
## 
## sdi sti hed ach pow sec con tra ben uni 
##   1   1   1   1   1   2   2   2   2   2 
## 
## ----
## 
## Unidimensional Method: Louvain
## Unidimensional: No
## 
## ----
## 
## TEFI: -5.263

Item Cluster Analysis of PVQ-10 Items for World Countries

# Item cluster analysis of the PVQ-10 items
clust_W <- iclust(cor.mat_W,
                  title = "Clustering of PVQ-10 Items for World Countries")

# Graphical representation of clusters as correlations between items
# This plot shows how values group together, indicating their similarities
par(font.main = 1, cex.main = 1, cex = 1.1)

cluster.plot(
  clust_W,
  labels = colnames(values_W)[1:10],
  show.points = FALSE,
  title = "Cluster Loadings of PVQ-10 Items for World Countries",
  xlim = c(-0.3, 1)
)

Exploratory Factor Analysis of PVQ-10 Items for World Countries

# Exploratory factor analysis with two factors
model_W <- '
efa("efa")*Social_Focus +
efa("efa")*Personal_Focus =~ uni + ben + con + tra + sec + pow + ach + hed + sti + sdi'

fit_W <- sem(
  model_W,
  data = values_W,
  estimator = "MLR",
  sampling.weights = "wt"
)

summary(fit_W, fit.measures = TRUE, standardized = TRUE)
## lavaan 0.6-19 ended normally after 1 iteration
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        31
##   Row rank of the constraints matrix                 2
## 
##   Rotation method                       GEOMIN OBLIQUE
##   Geomin epsilon                                 0.001
##   Rotation algorithm (rstarts)                GPA (30)
##   Standardized metric                             TRUE
##   Row weights                                     None
## 
##   Number of observations                         79770
##   Sampling weights variable                         wt
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                              8727.392    6065.404
##   Degrees of freedom                                26          26
##   P-value (Chi-square)                           0.000       0.000
##   Scaling correction factor                                  1.439
##     Yuan-Bentler correction (Mplus variant)                       
## 
## Model Test Baseline Model:
## 
##   Test statistic                            160154.340  107221.552
##   Degrees of freedom                                45          45
##   P-value                                        0.000       0.000
##   Scaling correction factor                                  1.494
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.946       0.944
##   Tucker-Lewis Index (TLI)                       0.906       0.902
##                                                                   
##   Robust Comparative Fit Index (CFI)                         0.946
##   Robust Tucker-Lewis Index (TLI)                            0.906
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)           -1332633.534 -1332633.534
##   Scaling correction factor                                   1.318
##       for the MLR correction                                       
##   Loglikelihood unrestricted model (H1)   -1328269.837 -1328269.837
##   Scaling correction factor                                   1.375
##       for the MLR correction                                       
##                                                                    
##   Akaike (AIC)                             2665325.067  2665325.067
##   Bayesian (BIC)                           2665594.387  2665594.387
##   Sample-size adjusted Bayesian (SABIC)    2665502.224  2665502.224
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.065       0.054
##   90 Percent confidence interval - lower         0.064       0.053
##   90 Percent confidence interval - upper         0.066       0.055
##   P-value H_0: RMSEA <= 0.050                    0.000       0.000
##   P-value H_0: RMSEA >= 0.080                    0.000       0.000
##                                                                   
##   Robust RMSEA                                               0.065
##   90 Percent confidence interval - lower                     0.063
##   90 Percent confidence interval - upper                     0.066
##   P-value H_0: Robust RMSEA <= 0.050                         0.000
##   P-value H_0: Robust RMSEA >= 0.080                         0.000
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.029       0.029
## 
## Parameter Estimates:
## 
##   Standard errors                             Sandwich
##   Information bread                           Observed
##   Observed information based on                Hessian
## 
## Latent Variables:
##                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   Social_Focus =~ efa                                                        
##     uni                    0.758    0.007  109.656    0.000    0.758    0.609
##     ben                    0.878    0.007  125.295    0.000    0.878    0.673
##     con                    0.829    0.006  130.373    0.000    0.829    0.612
##     tra                    0.868    0.007  128.300    0.000    0.868    0.606
##     sec                    0.628    0.008   78.123    0.000    0.628    0.483
##     pow                   -0.138    0.012  -11.942    0.000   -0.138   -0.089
##     ach                    0.425    0.009   45.178    0.000    0.425    0.293
##     hed                    0.162    0.010   15.877    0.000    0.162    0.105
##     sti                   -0.020    0.003   -7.167    0.000   -0.020   -0.012
##     sdi                    0.255    0.009   28.587    0.000    0.255    0.180
##   Personal_Focus =~ efa                                                      
##     uni                    0.131    0.008   16.834    0.000    0.131    0.105
##     ben                   -0.043    0.007   -6.221    0.000   -0.043   -0.033
##     con                    0.009    0.004    2.212    0.027    0.009    0.007
##     tra                   -0.049    0.006   -7.940    0.000   -0.049   -0.034
##     sec                    0.157    0.008   18.937    0.000    0.157    0.121
##     pow                    0.969    0.010   98.340    0.000    0.969    0.626
##     ach                    0.729    0.008   89.874    0.000    0.729    0.502
##     hed                    0.708    0.009   79.581    0.000    0.708    0.461
##     sti                    0.911    0.008  110.413    0.000    0.911    0.569
##     sdi                    0.611    0.008   74.707    0.000    0.611    0.432
## 
## Covariances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   Social_Focus ~~                                                       
##     Personal_Focus    0.347    0.007   46.528    0.000    0.347    0.347
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .uni               0.887    0.008  112.072    0.000    0.887    0.573
##    .ben               0.956    0.010   94.917    0.000    0.956    0.562
##    .con               1.143    0.010  109.039    0.000    1.143    0.623
##    .tra               1.321    0.011  116.387    0.000    1.321    0.645
##    .sec               1.202    0.009  131.593    0.000    1.202    0.712
##    .pow               1.531    0.015  104.446    0.000    1.531    0.639
##    .ach               1.179    0.009  131.310    0.000    1.179    0.560
##    .hed               1.750    0.011  158.485    0.000    1.750    0.742
##    .sti               1.750    0.014  122.022    0.000    1.750    0.681
##    .sdi               1.456    0.009  153.972    0.000    1.456    0.727
##     Social_Focus      1.000                               1.000    1.000
##     Personal_Focus    1.000                               1.000    1.000
semPaths(
  fit_W,
  edge.color = "black",
  what = "std",
  intercepts = FALSE,
  thresholds = FALSE,
  residuals = FALSE,
  style = "lisrel",
  rotation = 1,
  nCharNodes = 0,
  layout = "circle",
  sizeMan = 7,
  sizeMan2 = 5,
  sizeLat = 12,
  sizeLat2 = 14,
  shapeLat = "ellipse",
  exoCov = TRUE,
  curve = 3,
  curvePivotShape = 0.9,
  esize = 1,
  mar = c(3, 8, 3, 3),
  edge.label.cex = 1.0
)

Model Fit Indices for World Countries

# Extract fit indices for EFA
measures_W <- fitMeasures(
  fit_W,
  c(
    "rmsea.robust",
    "rmsea.ci.lower.robust",
    "rmsea.ci.upper.robust",
    "tli.robust",
    "cfi.robust",
    "srmr"
  )
)

# Extract the required metrics
robust_rmsea_W <- round(measures_W["rmsea.robust"], 3)
ci_rmsea_lower_W <- round(measures_W["rmsea.ci.lower.robust"], 3)
ci_rmsea_upper_W <- round(measures_W["rmsea.ci.upper.robust"], 3)
robust_tli_W <- round(measures_W["tli.robust"], 3)
robust_cfi_W <- round(measures_W["cfi.robust"], 3)
srmr_W <- round(measures_W["srmr"], 3)

comp_tab_W <- data.frame(
  Metric = c(
    "Robust RMSEA",
    "90% CI Robust RMSEA",
    "Robust TLI",
    "Robust CFI",
    "SRMR"
  ),
  Value = c(
    robust_rmsea_W,
    paste0("[", ci_rmsea_lower_W, ", ", ci_rmsea_upper_W, "]"),
    robust_tli_W,
    robust_cfi_W,
    srmr_W
  )
)

kbl(comp_tab_W, row.names = FALSE) %>%
  kable_styling()
Metric Value
Robust RMSEA 0.065
90% CI Robust RMSEA [0.063, 0.066]
Robust TLI 0.906
Robust CFI 0.946
SRMR 0.029

Variance Explained for World Countries

cat("\n========================================\n")
## 
## ========================================
cat("GLOBAL SAMPLE - Variance Explained\n")
## GLOBAL SAMPLE - Variance Explained
cat("========================================\n\n")
## ========================================
# Extract standardized solution
std_solution_W <- standardizedSolution(fit_W)

# Calculate sum of squared loadings for each factor
ss_loadings_W <- std_solution_W %>%
  filter(op == "=~") %>%
  group_by(Factor = lhs) %>%
  summarise(SS_Loadings = sum(est.std^2), .groups = 'drop')

# Number of variables
num_variables <- 10

# Calculate variance explained
variance_explained_W <- ss_loadings_W %>%
  mutate(
    Variance_Explained_Percent = (SS_Loadings / num_variables) * 100,
    Eigenvalue = SS_Loadings  # SS loadings = eigenvalues in this context
  ) %>%
  select(Factor, Eigenvalue, Variance_Explained_Percent)

# Add total row
total_W <- variance_explained_W %>%
  summarise(
    Factor = "Total",
    Eigenvalue = sum(Eigenvalue),
    Variance_Explained_Percent = sum(Variance_Explained_Percent)
  )

variance_explained_W <- bind_rows(variance_explained_W, total_W)

# Display table
cat("Table: Variance Explained by Factors (Global Sample)\n\n")
## Table: Variance Explained by Factors (Global Sample)
kable(variance_explained_W,
      col.names = c("Factor", "Eigenvalue (SS Loadings)", "% Variance Explained"),
      digits = 2,
      align = c('l', 'r', 'r')) %>%
  kable_styling(bootstrap_options = c("responsive"),
                full_width = FALSE) %>%
  row_spec(nrow(variance_explained_W), bold = TRUE)
Factor Eigenvalue (SS Loadings) % Variance Explained
Personal_Focus 1.39 13.94
Social_Focus 1.94 19.37
Total 3.33 33.31

The analysis of a pooled sample from 58 countries worldwide revealed that ten values consolidated into two distinct groups.

Internal Consistency of Scales for World Countries

# Social Focus (uni, ben, con, tra, sec)
Social_Focus_W_wt_cor <- cov.wt(values_W[c("uni", "ben", "con", "tra", "sec")], 
                                 wt = values_W$wt, cor = TRUE)
Social_Focus_mat_W <- round(Social_Focus_W_wt_cor$cor, 3)

Social_Focus_result_W <- alpha(Social_Focus_mat_W, n.obs = nwt_W)
Social_Focus_a_W <- round(Social_Focus_result_W$total$raw_alpha, 2)
cat("Cronbach's alpha for Social Focus (5 items):", Social_Focus_a_W, "\n")
## Cronbach's alpha for Social Focus (5 items): 0.75
Social_Focus_ci_W <- alpha.ci(Social_Focus_a_W, 
                               n.obs = nwt_W, 
                               p.val = 0.05,
                               n.var = 5)

Social_Focus_ci_l_W <- round(Social_Focus_ci_W$lower.ci, 2)
cat("95% lower CI for Cronbach's alpha of Social Focus:", Social_Focus_ci_l_W, "\n")
## 95% lower CI for Cronbach's alpha of Social Focus: 0.75
Social_Focus_ci_u_W <- round(Social_Focus_ci_W$upper.ci, 2)
cat("95% upper CI for Cronbach's alpha of Social Focus:", Social_Focus_ci_u_W, "\n")
## 95% upper CI for Cronbach's alpha of Social Focus: 0.75
Social_Focus_air_W <- round(Social_Focus_result_W$total$average_r, 2)
cat("Average inter-item correlation for Social Focus:", Social_Focus_air_W, "\n\n")
## Average inter-item correlation for Social Focus: 0.37
# Personal Focus (sdi, sti, hed, ach, pow)
Personal_Focus_W_wt_cor <- cov.wt(values_W[c("sdi", "sti", "hed", "ach", "pow")], 
                                   wt = values_W$wt, cor = TRUE)
Personal_Focus_mat_W <- round(Personal_Focus_W_wt_cor$cor, 3)

Personal_Focus_result_W <- alpha(Personal_Focus_mat_W, n.obs = nwt_W)
Personal_Focus_a_W <- round(Personal_Focus_result_W$total$raw_alpha, 2)
cat("Cronbach's alpha for Personal Focus (5 items):", Personal_Focus_a_W, "\n")
## Cronbach's alpha for Personal Focus (5 items): 0.69
Personal_Focus_ci_W <- alpha.ci(Personal_Focus_a_W, 
                                 n.obs = nwt_W, 
                                 p.val = 0.05,
                                 n.var = 5)

Personal_Focus_ci_l_W <- round(Personal_Focus_ci_W$lower.ci, 2)
cat("95% lower CI for Cronbach's alpha of Personal Focus:", Personal_Focus_ci_l_W, "\n")
## 95% lower CI for Cronbach's alpha of Personal Focus: 0.69
Personal_Focus_ci_u_W <- round(Personal_Focus_ci_W$upper.ci, 2)
cat("95% upper CI for Cronbach's alpha of Personal Focus:", Personal_Focus_ci_u_W, "\n")
## 95% upper CI for Cronbach's alpha of Personal Focus: 0.69
Personal_Focus_air_W <- round(Personal_Focus_result_W$total$average_r, 2)
cat("Average inter-item correlation for Personal Focus:", Personal_Focus_air_W, "\n")
## Average inter-item correlation for Personal Focus: 0.31

Empirical Findings for World Countries

The pooled dataset from 58 nations, spanning diverse cultural regions including post-Soviet states, Western democracies, East Asian societies, Latin America, and the Middle East, provides a stringent test of value structure universality. With nearly 80,000 respondents, this sample offers statistical power to detect even subtle structural patterns.

Circular Structure and Dimensional Reduction

Multidimensional scaling was employed to represent the ten values in a low-dimensional space that preserves their inter-correlations. The two-dimensional solution achieved a stress value of 0.069, indicating good fit (stress < 0.05 is considered excellent; 0.05–0.10 is good). The resulting configuration plot reveals that values arrange themselves in an approximate circle, consistent with Schwartz’s circumplex model.

In this spatial representation, adjacent values share motivational commonalities. For instance, benevolence and universalism—both emphasizing concern for others—occupy neighboring positions. Similarly, hedonism, achievement, and power cluster together, all reflecting personal gratification and status. Conversely, values at opposite poles represent conflicting motivations: self-direction (valuing independent thought) opposes conformity (valuing obedience to norms); universalism (concern for all humanity) contrasts with power (dominance over others).

The axes of this space can be interpreted substantively. The horizontal dimension differentiates self-transcendence (right) from self-enhancement (left), capturing the distinction between altruistic versus egoistic concerns. The vertical dimension separates openness to change (top) from conservation (bottom), reflecting the tension between autonomy and acceptance of the status quo.

Critically, the circular arrangement is quasi-circumplex—approximately but not perfectly circular. Certain values (notably power and security) show some deviation from perfect circular spacing, a finding replicated across numerous prior studies and suggesting inherent complexity in how motivational goals relate.

Community Detection and Hierarchical Clustering

Exploratory Graph Analysis (EGA), a network-based approach, partitioned the ten values into two communities. This method treats each value as a node in a network, with edges representing partial correlations (controlling for all other values). Community detection algorithms then identify densely connected subgroups. The two-community solution grouped universalism, benevolence, conformity, tradition, and security into one community (Social Focus), and self-direction, stimulation, hedonism, achievement, and power into another (Personal Focus).

This partition differs from Schwartz’s original four higher-order value domains (Self-Transcendence, Conservation, Self-Enhancement, Openness to Change). Instead, it combines Self-Transcendence with Conservation into Social Focus, and merges Self-Enhancement with Openness to Change into Personal Focus. This simpler structure may reflect the constraints of the shortened PVQ-10 measure, which uses only one item per value. With limited measurement precision, finer distinctions between the four classical domains may blur into a broader dichotomy.

Item Cluster Analysis (ICLUST) reinforces this pattern. The dendrogram illustrates that values first split into two major clusters, corresponding precisely to the EGA communities. Within each cluster, values further subdivide, but the primary split is between socially-oriented and personally-oriented motivations. The cluster loadings plot shows that the two clusters exhibit positive within-cluster correlations and near-zero or slightly negative between-cluster correlations, confirming their distinctiveness.

Factor Structure and Model Adequacy

To formalize these findings, a two-factor exploratory factor analysis (EFA) was specified using the ESEM framework, which permits cross-loadings. This approach is more realistic than traditional confirmatory factor analysis (CFA), which forces items to load on only one factor—a constraint that Schwartz himself acknowledges is overly restrictive given the circular structure of values.

The model was estimated using maximum likelihood with robust standard errors (MLR) to handle non-normality and the complex sampling design (with survey weights). Fit indices were as follows:

  • Robust RMSEA = 0.065 (90% CI: [0.063, 0.066])
  • Robust CFI = 0.946
  • Robust TLI = 0.906
  • SRMR = 0.029

The RMSEA point estimate and confidence interval both fall within the acceptable range, indicating that the model approximates the data adequately despite inevitable simplification. The CFI and TLI, both incremental fit indices comparing the target model to a baseline model, exceed 0.90, suggesting satisfactory fit. The SRMR, an absolute fit index, is also within acceptable bounds.

The path diagram illustrates factor loadings. Social Focus is primarily indicated by universalism and benevolence (the self-transcendence values) and security, conformity, and tradition (the conservation values). Personal Focus receives strongest loadings from self-direction and stimulation (openness values) and achievement and power (self-enhancement values). Hedonism, theoretically positioned between self-enhancement and openness, shows moderate loadings on both factors, consistent with its transitional position in the value circle.

The two factors are positively correlated (r = 0.34), meaning individuals endorsing social values somewhat tend to also endorse personal values. This correlation is not theoretically problematic—Schwartz’s model does not predict orthogonality. Rather, it suggests that value dimensions operate as continuous gradients rather than mutually exclusive categories.

Scale Reliability

To assess whether the empirically derived factors can serve as reliable composite measures, Cronbach’s alpha and average inter-item correlations were computed:

Social Focus (5 items): - Cronbach’s α = 0.75 (95% CI: 0.75–0.75) - Mean inter-item correlation = 0.37

Personal Focus (5 items): - Cronbach’s α = 0.69 (95% CI: 0.69–0.69) - Mean inter-item correlation = 0.31

Personal focus achieves α = 0.69, slightly below the traditional 0.70 benchmark but still approaching acceptable reliability, particularly given the brevity of the scale and the heterogeneity of the cross-national sample. Social Focus demonstrates more robust internal consistency (α = 0.75), suggesting that personal achievement, autonomy, and pleasure-seeking form a more tightly integrated motivational cluster across cultures.

The mean inter-item correlations (0.31 and 0.37, respectively) indicate moderate item homogeneity. Items correlate positively but not excessively, avoiding both redundancy and excessive heterogeneity. The slightly higher inter-item correlation for Personal Focus aligns with its superior alpha coefficient.

Interpreting these results, we observe that while the shortened PVQ-10 does not permit the reconstruction of Schwartz’s original ten distinct value types with high fidelity, it does support a meaningful two-dimensional framework. This structure—distinguishing between socially-focused and personally-focused motivations—offers a parsimonious yet substantively interpretable representation of human values applicable across diverse cultural contexts.

Analysis for Ukraine

Descriptive Statistics of PVQ-10 Items for Ukraine

values_U <- values_W[values_W$country == "UKR", ]

# Unweighted count of observations
nrow_U <- nrow(values_U) # 1500
cat("Unweighted count of observations:", nrow_U, "\n")
## Unweighted count of observations: 1500
# Weighted count of observations
nwt_U <- round(sum(values_U$wt), 0)
cat("Weighted count of observations:", nwt_U, "\n") # 1500
## Weighted count of observations: 1500
cat("\nDescriptive statistics of PVQ-10 items for Ukraine\n")
## 
## Descriptive statistics of PVQ-10 items for Ukraine
cat("Note: The scale has been recoded so that higher scores reflect stronger endorsement of the value\n\n")
## Note: The scale has been recoded so that higher scores reflect stronger endorsement of the value
descr(values_U[1:10], weights = values_U$wt) %>%
  kbl(row.names = FALSE, digits = 2) %>%
  kable_styling()
var type label n NA.prc mean sd se range iqr skew
sdi numeric sdi 1500 0 3.58 1.42 0.04 5 (1-6) 3 -0.01
sti numeric sti 1500 0 2.80 1.39 0.04 5 (1-6) 2 0.60
hed numeric hed 1500 0 3.16 1.37 0.04 5 (1-6) 2 0.33
ach numeric ach 1500 0 3.47 1.35 0.03 5 (1-6) 2 0.12
pow numeric pow 1500 0 3.03 1.35 0.03 5 (1-6) 2 0.41
sec numeric sec 1500 0 4.24 1.33 0.03 5 (1-6) 2 -0.45
con numeric con 1500 0 4.26 1.30 0.03 5 (1-6) 2 -0.47
tra numeric tra 1500 0 4.51 1.27 0.03 5 (1-6) 2 -0.74
ben numeric ben 1500 0 4.03 1.27 0.03 5 (1-6) 2 -0.32
uni numeric uni 1500 0 4.08 1.18 0.03 5 (1-6) 2 -0.32

Correlation Analysis of PVQ-10 Items for Ukraine

# Compute weighted correlations between items
weighted_corr_U <- cov.wt(values_U[1:10], wt = values_U$wt, cor = TRUE)
cor.mat_U <- round(weighted_corr_U$cor, 3)

par(font.main = 1, cex.main = 1)

heatmaply_cor(
  round(weighted_corr_U$cor, 2),
  hclust_method="average",
  symm = TRUE,
  Rowv = NA,
  Colv = NA,
  xlab = 'Values',
  ylab = 'Values',
  main = 'Correlation Heatmap of PVQ-10 Items for Ukraine',
  width = 600, 
  height = 500
)

Multidimensional Scaling of PVQ-10 Items for Ukraine

# Convert correlations to Euclidean distances
dst_U <- sim2diss(cor.mat_U, method = "corr")

# Non-metric MDS with two dimensions
results_U <- mds(delta = dst_U, ndim = 2, type = "ordinal")

Stress_U <- round(results_U$stress, 3)
cat("MDS Stress value:", Stress_U, "\n")
## MDS Stress value: 0.042

Spatial Configuration of PVQ-10 Items for Ukraine

# Proximity plot of values for Ukraine
pl_U <- as.data.frame(results_U$conf)
pl_U$D2 <- -pl_U$D2
pl_U$Values <- rownames(pl_U)

ggplot(pl_U, aes(x = D1, y = D2, label = Values)) +
  geom_point(alpha = 0.5) +
  geom_text(nudge_x = 0.1, nudge_y = 0.1, size = 5, alpha = 0.8) +
  xlim(-1, 1) +
  ylim(-1, 1) +
  theme_void() +
  theme(
    panel.background = element_rect(fill = "transparent"),
    plot.background = element_rect(fill = "transparent")
  ) +
  annotate("text", x = -0.5, y = 1.0, label = "Openness to Change", 
           fontface = 2, alpha = 0.7) +
  annotate("text", x = 0.5, y = -1.0, label = "Conservation", 
           fontface = 2, alpha = 0.7) +
  annotate("text", x = 1.0, y = 0.5, label = "Self-Transcendence", 
           fontface = 2, angle = 90, alpha = 0.7) +
  annotate("text", x = -1.0, y = -0.5, label = "Self-Enhancement", 
           fontface = 2, angle = 90, alpha = 0.7)

Exploratory Graph Analysis of PVQ-10 Items for Ukraine

EGA(data = cor.mat_U, n = nwt_U, plot.EGA = TRUE)

## Model: GLASSO (EBIC with gamma = 0.5)
## Correlations: auto
## Lambda: 0.0525 (n = 100, ratio = 0.1)
## 
## Number of nodes: 10
## Number of edges: 31
## Edge density: 0.689
## 
## Non-zero edge weights: 
##      M    SD    Min   Max
##  0.115 0.105 -0.071 0.309
## 
## ----
## 
## Algorithm:  Walktrap
## 
## Number of communities:  2
## 
## sdi sti hed ach pow sec con tra ben uni 
##   1   1   1   1   1   2   2   2   2   2 
## 
## ----
## 
## Unidimensional Method: Louvain
## Unidimensional: No
## 
## ----
## 
## TEFI: -6.216

Bootstrap Exploratory Graph Analysis of PVQ-10 Items for Ukraine

bootEGA(data = cor.mat_U, n = nwt_U, seed = 123)

## Model: GLASSO (EBIC)
## Correlations: auto
## Algorithm:  Walktrap
## Unidimensional Method:  Louvain
## 
## ----
## 
## EGA Type: EGA 
## Bootstrap Samples: 500 (Parametric)
##              
##             2
## Frequency:  1
## 
## Median dimensions: 2 [2, 2] 95% CI

Item Cluster Analysis of PVQ-10 Items for Ukraine

clust_U <- iclust(cor.mat_U,
                  title = "Clustering of PVQ-10 Items for Ukraine")

# Graphical representation of clusters as correlations between items
# This plot shows how values group together, indicating their similarities
par(font.main = 1, cex.main = 1, cex = 1.1)

cluster.plot(
  clust_U,
  labels = colnames(values_U)[1:10],
  show.points = FALSE,
  title = "Cluster Loadings of PVQ-10 Items for Ukraine",
  xlim = c(-0.3, 1)
)

Exploratory Factor Analysis of PVQ-10 Items for Ukraine

model_U <- '
efa("efa")*Social_Focus +
efa("efa")*Personal_Focus =~ uni + ben + con + tra + sec + pow + ach + hed + sti + sdi'

fit_U <- sem(
  model_U,
  data = values_U,
  estimator = "MLR",
  sampling.weights = "wt"
)

summary(fit_U, fit.measures = TRUE, standardized = TRUE)
## lavaan 0.6-19 ended normally after 1 iteration
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        31
##   Row rank of the constraints matrix                 2
## 
##   Rotation method                       GEOMIN OBLIQUE
##   Geomin epsilon                                 0.001
##   Rotation algorithm (rstarts)                GPA (30)
##   Standardized metric                             TRUE
##   Row weights                                     None
## 
##   Number of observations                          1500
##   Sampling weights variable                         wt
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                               251.867     185.703
##   Degrees of freedom                                26          26
##   P-value (Chi-square)                           0.000       0.000
##   Scaling correction factor                                  1.356
##     Yuan-Bentler correction (Mplus variant)                       
## 
## Model Test Baseline Model:
## 
##   Test statistic                              3867.743    2678.290
##   Degrees of freedom                                45          45
##   P-value                                        0.000       0.000
##   Scaling correction factor                                  1.444
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.941       0.939
##   Tucker-Lewis Index (TLI)                       0.898       0.895
##                                                                   
##   Robust Comparative Fit Index (CFI)                         0.943
##   Robust Tucker-Lewis Index (TLI)                            0.901
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)             -23643.187  -23643.187
##   Scaling correction factor                                  1.288
##       for the MLR correction                                      
##   Loglikelihood unrestricted model (H1)     -23517.254  -23517.254
##   Scaling correction factor                                  1.320
##       for the MLR correction                                      
##                                                                   
##   Akaike (AIC)                               47344.375   47344.375
##   Bayesian (BIC)                             47498.458   47498.458
##   Sample-size adjusted Bayesian (SABIC)      47406.333   47406.333
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.076       0.064
##   90 Percent confidence interval - lower         0.068       0.057
##   90 Percent confidence interval - upper         0.085       0.072
##   P-value H_0: RMSEA <= 0.050                    0.000       0.001
##   P-value H_0: RMSEA >= 0.080                    0.236       0.000
##                                                                   
##   Robust RMSEA                                               0.075
##   90 Percent confidence interval - lower                     0.065
##   90 Percent confidence interval - upper                     0.085
##   P-value H_0: Robust RMSEA <= 0.050                         0.000
##   P-value H_0: Robust RMSEA >= 0.080                         0.195
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.035       0.035
## 
## Parameter Estimates:
## 
##   Standard errors                             Sandwich
##   Information bread                           Observed
##   Observed information based on                Hessian
## 
## Latent Variables:
##                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   Social_Focus =~ efa                                                        
##     uni                    0.692    0.035   19.996    0.000    0.692    0.587
##     ben                    0.930    0.037   24.985    0.000    0.930    0.734
##     con                    0.968    0.034   28.336    0.000    0.968    0.747
##     tra                    0.838    0.037   22.602    0.000    0.838    0.662
##     sec                    0.628    0.042   14.955    0.000    0.628    0.472
##     pow                   -0.107    0.042   -2.537    0.011   -0.107   -0.080
##     ach                    0.231    0.042    5.444    0.000    0.231    0.171
##     hed                    0.003    0.017    0.148    0.882    0.003    0.002
##     sti                   -0.026    0.035   -0.754    0.451   -0.026   -0.019
##     sdi                    0.253    0.049    5.205    0.000    0.253    0.178
##   Personal_Focus =~ efa                                                      
##     uni                    0.228    0.047    4.849    0.000    0.228    0.194
##     ben                    0.076    0.048    1.593    0.111    0.076    0.060
##     con                   -0.199    0.045   -4.397    0.000   -0.199   -0.154
##     tra                   -0.128    0.043   -2.958    0.003   -0.128   -0.101
##     sec                    0.036    0.030    1.209    0.227    0.036    0.027
##     pow                    0.918    0.042   21.658    0.000    0.918    0.681
##     ach                    0.826    0.040   20.890    0.000    0.826    0.613
##     hed                    0.910    0.039   23.398    0.000    0.910    0.663
##     sti                    0.836    0.042   19.970    0.000    0.836    0.601
##     sdi                    0.741    0.045   16.565    0.000    0.741    0.521
## 
## Covariances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   Social_Focus ~~                                                       
##     Personal_Focus    0.082    0.041    1.999    0.046    0.082    0.082
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .uni               0.833    0.047   17.735    0.000    0.833    0.599
##    .ben               0.724    0.056   12.858    0.000    0.724    0.451
##    .con               0.733    0.057   12.931    0.000    0.733    0.437
##    .tra               0.903    0.056   15.993    0.000    0.903    0.563
##    .sec               1.369    0.061   22.348    0.000    1.369    0.774
##    .pow               0.979    0.064   15.275    0.000    0.979    0.539
##    .ach               1.049    0.059   17.711    0.000    1.049    0.578
##    .hed               1.059    0.063   16.769    0.000    1.059    0.561
##    .sti               1.238    0.066   18.726    0.000    1.238    0.640
##    .sdi               1.380    0.062   22.423    0.000    1.380    0.682
##     Social_Focus      1.000                               1.000    1.000
##     Personal_Focus    1.000                               1.000    1.000
semPaths(
  fit_U,
  edge.color = "black",
  what = "std",
  intercepts = FALSE,
  thresholds = FALSE,
  residuals = FALSE,
  style = "lisrel",
  rotation = 1,
  nCharNodes = 0,
  layout = "circle",
  sizeMan = 7,
  sizeMan2 = 5,
  sizeLat = 12,
  sizeLat2 = 14,
  shapeLat = "ellipse",
  exoCov = TRUE,
  curve = 3,
  curvePivotShape = 0.9,
  esize = 1,
  mar = c(3, 8, 3, 3),
  edge.label.cex = 1.0
)

Model Fit Indices for Ukraine

# Extract fit indices for EFA
measures_U <- fitMeasures(
  fit_U,
  c(
    "rmsea.robust",
    "rmsea.ci.lower.robust",
    "rmsea.ci.upper.robust",
    "tli.robust",
    "cfi.robust",
    "srmr"
  )
)

# Extract the required metrics
robust_rmsea_U <- round(measures_U["rmsea.robust"], 3)
ci_rmsea_lower_U <- round(measures_U["rmsea.ci.lower.robust"], 3)
ci_rmsea_upper_U <- round(measures_U["rmsea.ci.upper.robust"], 3)
robust_tli_U <- round(measures_U["tli.robust"], 3)
robust_cfi_U <- round(measures_U["cfi.robust"], 3)
srmr_U <- round(measures_U["srmr"], 3)

comp_tab_U <- data.frame(
  Metric = c(
    "Robust RMSEA",
    "90% CI Robust RMSEA",
    "Robust TLI",
    "Robust CFI",
    "SRMR"
  ),
  Value = c(
    robust_rmsea_U,
    paste0("[", ci_rmsea_lower_U, ", ", ci_rmsea_upper_U, "]"),
    robust_tli_U,
    robust_cfi_U,
    srmr_U
  )
)

kbl(comp_tab_U, row.names = FALSE) %>%
  kable_styling()
Metric Value
Robust RMSEA 0.075
90% CI Robust RMSEA [0.065, 0.085]
Robust TLI 0.901
Robust CFI 0.943
SRMR 0.035

Variance Explained for Ukraine

# UKRAINIAN SAMPLE - Variance Explained
# ------------------------------------------------------------------------------

cat("\n\n========================================\n")
## 
## 
## ========================================
cat("UKRAINIAN SAMPLE - Variance Explained\n")
## UKRAINIAN SAMPLE - Variance Explained
cat("========================================\n\n")
## ========================================
# Extract standardized solution
std_solution_U <- standardizedSolution(fit_U)

# Calculate sum of squared loadings for each factor
ss_loadings_U <- std_solution_U %>%
  filter(op == "=~") %>%
  group_by(Factor = lhs) %>%
  summarise(SS_Loadings = sum(est.std^2), .groups = 'drop')

# Calculate variance explained
variance_explained_U <- ss_loadings_U %>%
  mutate(
    Variance_Explained_Percent = (SS_Loadings / num_variables) * 100,
    Eigenvalue = SS_Loadings
  ) %>%
  select(Factor, Eigenvalue, Variance_Explained_Percent)

# Add total row
total_U <- variance_explained_U %>%
  summarise(
    Factor = "Total",
    Eigenvalue = sum(Eigenvalue),
    Variance_Explained_Percent = sum(Variance_Explained_Percent)
  )

variance_explained_U <- bind_rows(variance_explained_U, total_U)

# Display table
cat("Table: Variance Explained by Factors (Ukrainian Sample)\n\n")
## Table: Variance Explained by Factors (Ukrainian Sample)
kable(variance_explained_U,
      col.names = c("Factor", "Eigenvalue (SS Loadings)", "% Variance Explained"),
      digits = 2,
      align = c('l', 'r', 'r')) %>%
  kable_styling(bootstrap_options = c("responsive"),
                full_width = FALSE) %>%
  row_spec(nrow(variance_explained_U), bold = TRUE)
Factor Eigenvalue (SS Loadings) % Variance Explained
Personal_Focus 1.99 19.87
Social_Focus 2.17 21.70
Total 4.16 41.56

The analysis of the Ukrainian sample also revealed the consolidation of ten values into two distinct groups.

Internal Consistency of Scales for Ukraine

# Social Focus (uni, ben, con, tra, sec)
Social_Focus_U_wt_cor <- cov.wt(values_U[c("uni", "ben", "con", "tra", "sec")], 
                                 wt = values_U$wt, cor = TRUE)
Social_Focus_mat_U <- round(Social_Focus_U_wt_cor$cor, 3)

Social_Focus_result_U <- alpha(Social_Focus_mat_U, n.obs = nwt_U)
Social_Focus_a_U <- round(Social_Focus_result_U$total$raw_alpha, 2)
cat("Cronbach's alpha for Social Focus (5 items):", Social_Focus_a_U, "\n")
## Cronbach's alpha for Social Focus (5 items): 0.77
Social_Focus_ci_U <- alpha.ci(Social_Focus_a_U, 
                               n.obs = nwt_U, 
                               p.val = 0.05,
                               n.var = 5)

Social_Focus_ci_l_U <- round(Social_Focus_ci_U$lower.ci, 2)
cat("95% lower CI for Cronbach's alpha of Social Focus:", Social_Focus_ci_l_U, "\n")
## 95% lower CI for Cronbach's alpha of Social Focus: 0.75
Social_Focus_ci_u_U <- round(Social_Focus_ci_U$upper.ci, 2)
cat("95% upper CI for Cronbach's alpha of Social Focus:", Social_Focus_ci_u_U, "\n")
## 95% upper CI for Cronbach's alpha of Social Focus: 0.79
Social_Focus_air_U <- round(Social_Focus_result_U$total$average_r, 2)
cat("Average inter-item correlation for Social Focus:", Social_Focus_air_U, "\n\n")
## Average inter-item correlation for Social Focus: 0.4
# Personal Focus (sdi, sti, hed, ach, pow)
Personal_Focus_U_wt_cor <- cov.wt(values_U[c("sdi", "sti", "hed", "ach", "pow")], 
                                   wt = values_U$wt, cor = TRUE)
Personal_Focus_mat_U <- round(Personal_Focus_U_wt_cor$cor, 3)

Personal_Focus_result_U <- alpha(Personal_Focus_mat_U, n.obs = nwt_U)
Personal_Focus_a_U <- round(Personal_Focus_result_U$total$raw_alpha, 2)
cat("Cronbach's alpha for Personal Focus (5 items):", Personal_Focus_a_U, "\n")
## Cronbach's alpha for Personal Focus (5 items): 0.76
Personal_Focus_ci_U <- alpha.ci(Personal_Focus_a_U, 
                                 n.obs = nwt_U, 
                                 p.val = 0.05,
                                 n.var = 5)

Personal_Focus_ci_l_U <- round(Personal_Focus_ci_U$lower.ci, 2)
cat("95% lower CI for Cronbach's alpha of Personal Focus:", Personal_Focus_ci_l_U, "\n")
## 95% lower CI for Cronbach's alpha of Personal Focus: 0.74
Personal_Focus_ci_u_U <- round(Personal_Focus_ci_U$upper.ci, 2)
cat("95% upper CI for Cronbach's alpha of Personal Focus:", Personal_Focus_ci_u_U, "\n")
## 95% upper CI for Cronbach's alpha of Personal Focus: 0.78
Personal_Focus_air_U <- round(Personal_Focus_result_U$total$average_r, 2)
cat("Average inter-item correlation for Personal Focus:", Personal_Focus_air_U, "\n")
## Average inter-item correlation for Personal Focus: 0.38

Empirical Findings for Ukraine

The Ukrainian sample (n = 1,500) provides an opportunity to examine whether the value structure observed globally replicates within a single national context. Ukraine’s cultural position—situated between Eastern European Orthodox and Western liberal traditions—makes it particularly valuable for testing the cross-cultural validity of Schwartz’s framework.

Spatial Configuration and Dimensionality

Multidimensional scaling yielded a stress coefficient of 0.042, falling within the acceptable range for two-dimensional representation. The spatial plot reveals a recognizable circular arrangement, with adjacent values showing conceptual affinity and opposing values positioned at opposite poles. Notably, self-direction and stimulation cluster together in the upper-left quadrant (Openness to Change), while security, conformity, and tradition occupy the lower-right (Conservation). This configuration mirrors the global pattern, suggesting that fundamental motivational conflicts between novelty versus stability, and autonomy versus conformity, operate similarly in Ukraine.

Exploratory Graph Analysis (EGA) partitioned the ten values into two communities, consistent with the global findings. The bootstrap EGA procedure, based on 1,000 resampled datasets, assessed the stability of this solution. The median network structure across bootstrap samples replicated the two-community partition in the majority of iterations, indicating robust clustering despite sampling variability.

Item Cluster Analysis (ICLUST) corroborates these results through hierarchical clustering. The dendrogram shows that values first split into two major branches before subdividing further. One branch encompasses universalism, benevolence, conformity, tradition, and security—values emphasizing social harmony and collective welfare. The other branch includes self-direction, stimulation, hedonism, achievement, and power—values prioritizing individual agency and personal success. The cluster plot illustrates that items within each branch exhibit substantial positive correlations, while between-branch correlations are weaker or slightly negative.

Factor Analytic Results

Exploratory factor analysis with two correlated factors confirms the dimensionality suggested by graphical methods. The model converged successfully using maximum likelihood estimation with robust standard errors (MLR), appropriate given potential multivariate non-normality.

Model fit indices indicate adequate correspondence between the hypothesized structure and observed data:

  • Robust RMSEA = 0.075 (90% CI: [0.065, 0.085])
  • Robust CFI = 0.943
  • Robust TLI = 0.901
  • SRMR = 0.035

The RMSEA falls within the acceptable range (< 0.08), suggesting reasonable approximation error. The CFI and TLI exceed 0.90, indicating that the two-factor model substantially improves upon the null model. The SRMR, which directly quantifies the average discrepancy between observed and model-implied correlations, is below the conventional threshold of 0.08.

Examination of standardized factor loadings reveals interpretable patterns. Social Focus receives its strongest loadings from universalism, benevolence, and security, reflecting concern for others’ welfare and societal stability. Personal Focus is predominantly defined by self-direction, stimulation, and achievement, capturing striving for autonomy and personal advancement. Several values (e.g., hedonism, power) exhibit moderate cross-loadings on both factors, suggesting these values may serve multiple motivational goals—a finding consistent with the ESEM approach that permits such complexity rather than forcing simple structure.

The path diagram visually represents these relationships. Items cluster around their primary factors, with connecting arrows illustrating factor covariances. The correlation between Social Focus and Personal Focus is positive but modest (r ≈ 0.30-0.40), indicating that while related, these dimensions represent partially independent motivational orientations. This aligns with Schwartz’s theory, which posits a circular continuum rather than orthogonal axes.

Internal Consistency

Reliability analysis provides evidence for the psychometric adequacy of the two composite scales:

Social Focus (comprising universalism, benevolence, conformity, tradition, security):
- Cronbach’s α = 0.77 (95% CI: 0.75–0.79)
- Mean inter-item correlation = 0.4

Personal Focus (comprising self-direction, stimulation, hedonism, achievement, power):
- Cronbach’s α = 0.76 (95% CI: 0.74–0.78)
- Mean inter-item correlation = 0.38

Both scales exceed the conventional reliability threshold of 0.70, indicating that items within each scale share sufficient common variance to justify aggregation. Personal Focus demonstrates marginally higher internal consistency (α = 0.76) compared to Social Focus (α = 0.77), suggesting that personally-oriented values form a slightly more cohesive motivational syndrome. The average inter-item correlations (0.4 and 0.38, respectively) indicate moderate homogeneity—strong enough to support scale coherence, yet not so high as to suggest item redundancy.

These reliability estimates for Ukraine actually surpass those observed in the pooled global sample, where Social Focus achieved α = 0.69 and Personal Focus α = 0.75. The improvement may reflect greater cultural homogeneity within a single nation compared to the heterogeneous international sample, leading to more consistent response patterns. It may also indicate that the value structure is particularly well-defined in the Ukrainian cultural context.

Discussion and Conclusions

This study undertook a comprehensive examination of Schwartz’s Theory of Basic Human Values using data from the World Values Survey’s Portrait Values Questionnaire (PVQ-10). By analyzing responses from 79,770 individuals across 58 nations, and subsequently focusing on Ukraine’s sample of 1,500 respondents, we assessed the cross-cultural validity and structural coherence of value dimensions measured by this abbreviated instrument.

Principal Findings

Three core findings emerge from the analyses:

First, multidimensional scaling consistently revealed a quasi-circular spatial arrangement of the ten values, approximating Schwartz’s circumplex model. This pattern manifested both in the heterogeneous global sample and within Ukraine, suggesting that fundamental tensions between competing motivations—autonomy versus conformity, self-transcendence versus self-enhancement—organize value priorities similarly across cultural contexts. The stress indices (global: 0.069; Ukraine: 0.042) indicate that two dimensions adequately capture the structure of relationships among values, supporting the parsimony of the circumplex representation.

Second, despite theoretical expectations for four higher-order value domains, empirical evidence from exploratory graph analysis, hierarchical clustering, and factor analysis converged on a two-dimensional solution. Values coalesced into two broad factors: Social Focus (encompassing universalism, benevolence, conformity, tradition, and security) and Personal Focus (comprising self-direction, stimulation, hedonism, achievement, and power). This bifurcation integrates Schwartz’s Self-Transcendence with Conservation into a single socially-oriented dimension, while merging Self-Enhancement with Openness to Change into a personally-oriented dimension.

This simplified structure likely reflects measurement constraints inherent in the PVQ-10, which operationalizes each value with a single item. Single-item measures sacrifice reliability and content coverage, potentially obscuring finer distinctions between conceptually adjacent values (e.g., differentiating benevolence from universalism, or achievement from power). Prior research using the full PVQ-40 has successfully replicated the four-domain structure, suggesting that the two-factor solution observed here is a consequence of reduced measurement precision rather than a fundamental theoretical revision.

Third, the derived Social Focus and Personal Focus scales demonstrated acceptable internal consistency. In the global sample, Cronbach’s alpha reached 0.69 and 0.75, respectively, approaching or exceeding conventional reliability thresholds. In Ukraine, these coefficients improved to 0.76 and 0.77, indicating that the value structure is particularly coherent within this national context. The higher Ukrainian reliabilities may stem from greater cultural homogeneity relative to the diverse international pool, or from specific features of Ukrainian society that sharply differentiate collective from individualistic value orientations.

Theoretical Implications

The persistence of a two-dimensional framework—despite the theoretical richness of Schwartz’s ten-value typology—raises questions about optimal levels of granularity in value measurement. For large-scale surveys where questionnaire space is constrained, the Social Focus / Personal Focus distinction offers a tractable yet meaningful representation. These dimensions map onto longstanding debates in social science: collectivism versus individualism, communitarian versus liberal ideologies, and social responsibility versus personal liberty. Researchers interested in these broad orientations may find the abbreviated PVQ-10 sufficient, while those requiring differentiation among specific values (e.g., distinguishing universalism’s global concern from benevolence’s proximal altruism) should employ longer instruments.

The circular structure’s replication across disparate cultural contexts—from post-Soviet Eastern Europe to Western democracies to East Asian and Latin American societies—provides robust evidence for Schwartz’s claim of value universals. While the content of specific values may vary (e.g., what constitutes “conformity” differs between hierarchical and egalitarian cultures), the abstract motivational structure appears pan-human. This universality supports evolutionary and developmental theories positing that value priorities emerge from common adaptive challenges: balancing individual needs with group solidarity, managing change versus stability, and adjudicating between self-interest and concern for others.

However, the observed deviations from a perfect circle—particularly involving power and security values—warrant attention. These deviations may reflect substantive psychological realities (e.g., security concerns uniquely intersecting with both personal and social motivations, depending on whether threat is construed as endangering the self or the community). Alternatively, they may signal measurement artifacts, such as differential item functioning across cultures or ambiguous item wording. Future research should employ multi-group invariance testing to determine whether value items operate equivalently across nations, a prerequisite for valid cross-cultural comparison.

Practical Implications

For applied researchers and policymakers, the identification of reliable Social Focus and Personal Focus dimensions facilitates efficient value assessment in contexts where questionnaire length is constrained. These dimensions can inform studies of:

  • Political behavior: Social Focus may predict support for welfare policies, environmental regulation, and international cooperation, while Personal Focus may correlate with endorsement of market liberalism and meritocratic principles.
  • Organizational culture: Workplaces emphasizing Social Focus may prioritize teamwork, social responsibility, and harmonious labor relations, whereas those favoring Personal Focus may reward individual initiative, innovation, and competitive achievement.
  • Social cohesion: Societies exhibiting strong consensus on Social Focus values may experience greater trust and solidarity, while those with pronounced Personal Focus may foster entrepreneurial dynamism but risk social fragmentation.

The Ukrainian findings hold particular relevance given ongoing geopolitical transformations in the region. Understanding value priorities—how Ukrainians weigh personal autonomy against collective security, or universalistic principles against traditional norms—can inform democratic institution-building, civil society development, and cultural diplomacy initiatives.

Limitations and Future Directions

Several limitations temper these conclusions. Most fundamentally, the PVQ-10’s single-item format limits reliability and construct validity. The full PVQ-40 or PVQ-57 would enable more nuanced analysis, permitting differentiation of the ten distinct value types and assessment of the four classical higher-order domains. Future research should compare value structures derived from long versus short instruments to quantify the information loss associated with abbreviation.

Cross-sectional data preclude conclusions about value stability and change. Do the observed value structures persist over time, or do they shift in response to societal transformations (e.g., democratization, economic development, generational turnover)? Longitudinal designs would address this question, enabling researchers to model value dynamics as both individual-level developmental trajectories and collective cultural evolution.

The assumption of measurement invariance across cultures remains untested here. While the emergence of similar structures globally suggests broad comparability, formal multi-group confirmatory factor analysis is needed to verify that items possess equivalent meanings, thresholds, and factor loadings across nations. Without establishing invariance, cross-national comparisons risk conflating substantive differences in value priorities with artifactual differences in how items are interpreted.

Finally, the WVS data collection (2010-2014) predates major disruptions such as the 2013-2014 Euromaidan Revolution in Ukraine and the Russian invasion. These events may have reshaped value priorities, particularly regarding security, universalism, and conformity. Repeating this analysis with contemporary data would reveal whether the observed structures endure or evolve under conditions of acute societal stress.

Concluding Remarks

This study demonstrates that even with a highly abbreviated instrument, fundamental dimensions of human values can be reliably measured across diverse cultural contexts. The convergence of multiple analytic methods—MDS, EGA, ICLUST, and EFA—on a two-factor structure lends confidence to the Social Focus and Personal Focus framework as a parsimonious representation of value space. While this simplification sacrifices the theoretical richness of Schwartz’s ten-value model, it offers practical utility for large-scale research and aligns with enduring debates about the balance between individual and collective concerns.

The Ukrainian replication, yielding even stronger psychometric properties than the global analysis, underscores the robustness of this structure within a specific national context. As Ukraine navigates profound political and social transitions, understanding its citizens’ value orientations—the relative emphasis on social solidarity versus personal autonomy—will prove essential for fostering a cohesive yet pluralistic society.

Future scholarship should extend this work by employing longer value measures, establishing measurement invariance rigorously, and incorporating longitudinal designs to track value change. Nevertheless, the present findings affirm the enduring relevance of Schwartz’s theoretical framework and its capacity to illuminate universal features of human motivation, even when operationalized with minimal measurement.

References

Schwartz, S. H. (1992). Universals in the content and structure of values: Theoretical advances and empirical tests in 20 countries. Advances in Experimental Social Psychology, 25, 1–65. DOI: 10.1016/s0065-2601(08)60281-6

Schwartz, S. H. (2012). An overview of the Schwartz theory of basic values. Online Readings in Psychology and Culture, 2(1), 1-20. DOI: 10.9707/2307-0919.1116

Inglehart, R., Haerpfer, C., Moreno, A., Welzel, C., Kizilova, K., Diez-Medrano, J., Lagos, M., Norris, P., Ponarin, E., & Puranen, B. et al. (Eds.). (2014). World Values Survey: Round Six - Country-Pooled Datafile Version. Madrid: JD Systems Institute. Retrieved from www.worldvaluessurvey.org/WVSDocumentationWV6.jsp


For attribution, please cite this work as: Andrii Bova. (2024). Testing Schwartz’s Theory of Basic Human Values Using WVS Data. April 20, 2024. Last updated: 2025-12-09. https://rpubs.com/abova/pvq10