# carico pacchetti e dati
library(MASS); library(psych); library(corrplot)
library(lavaan); library(semPlot); library(kableExtra)
load("data/uwesmix.rda")Esercitazione — Gruppo B: CFA
Test per le organizzazioni - A.A. 2025/2026
1 Il questionario
Questionario sul benessere lavorativo, 9 item su scala 0–6 (mai → sempre).
| Codice | Testo dell’item |
|---|---|
| I1 | Il mio lavoro è ricco di significato e di scopo |
| I2 | Sono felice quando lavoro con grande intensità |
| I3 | Al mio lavoro mi sento pieno/a di energia |
| I4 | Quando mi sveglio la mattina ho voglia di andare al lavoro |
| I5 | Sono entusiasta/o del mio lavoro |
| I6 | Quando lavoro mi dimentico di tutto quello che succede intorno a me |
| I7 | Il mio lavoro mi ispira |
| I8 | Al lavoro mi sento forte e vigoroso/a |
| I9 | Il tempo vola quando lavoro |
Passo 0 — Prima di toccare il codice
Leggete tutti gli item e scrivete la vostra ipotesi strutturale:
- Quante dimensioni identificate nel contenuto degli item?
- Quali item appartengono a ciascuna? Motivate la scelta.
- Le dimensioni sarebbero correlate?
Compilate il modello qui sotto prima di eseguire qualsiasi chunk.
2 Modello ipotizzato
# Sostituite Fattore nomi interpretabili
# e assegnate gli item sulla base del testo
modello_ipotesi1 <- '
FattoreA =~ I? + I? + I? + ...
....
'3 Stima e valutazione
cfa1 <- cfa(model = modello_ipotesi1,
data = uwesmix,
std.lv = TRUE,
ordered = TRUE)3.1 Parametri
parTable(cfa1) |>
dplyr::select(lhs, op, rhs, free, est) |>
kable(caption = "Parametri stimati") |>
kable_styling(bootstrap_options = c("striped","hover"),
full_width = FALSE, font_size = 12)3.2 Fit e path diagram
summary(cfa1, fit.measures = TRUE, standardized = TRUE)Cosa potete dire di questo output?
Come sono gli indici di fit?
semPaths(cfa1, whatLabels = "std", edge.label.cex = 0.80,
layout = "tree2", intercepts = FALSE)Cosa potete dire di questo output?
Le saturazioni sono abbastanza alte?
Come sono gli indici di fit?
4 Confronto con modello alternativo
modello_ipotesi2 <- '
FattoreA =~ I? + I? + I? + ...
....
'
cfa2 <- cfa(model = modello_ipotesi2, data = uwesmix,
std.lv = TRUE, ordered = TRUE)
summary(cfa2, fit.measures = TRUE)# Il modello più semplice va come primo argomento.
lavTestLRT(.. , ...)
Consiglio
Il test è significativo? Significatività statistica implica rilevanza pratica?
Per la presentazione
- Quale struttura avevate ipotizzato dal testo? Coincide con i dati?
- Il fit del vostro modello è accettabile?
- Quale modello funziona meglio ed ha più senso teoricamente?
- Le correlazioni tra fattori (se più di uno) sono alte o basse?