1 Doğrulayıcı Faktör Analizi

2 Soru 1:

library(lavaan)
library(semPlot)
n_items <- 22
N       <- 339
 
madde_adlari <- c(
  paste0("Do", 1:6),   # Doğal      1-6
  paste0("Be", 1:4),   # Bedensel   7-10
  paste0("Uz", 1:3),   # Uzamsal    11-13
  paste0("Mu", 1:2),   # Müziksel   14-15
  paste0("Ma", 1:3),   # Mantıksal  16-18
  paste0("Di", 1:4)    # Dilsel     19-22
)
 
# Alt üçgen değerleri oku (castejon.txt)
tri_values <- scan("castejon.txt", quiet = TRUE)
cat("Okunan değer sayısı:", length(tri_values),
    "| Beklenen:", n_items*(n_items+1)/2, "\n")
## Okunan değer sayısı: 253 | Beklenen: 253
# Simetrik korelasyon matrisi oluştur
cor_mat <- matrix(0, nrow = n_items, ncol = n_items)
idx <- 1
for (i in 1:n_items) {
  for (j in 1:i) {
    cor_mat[i, j] <- tri_values[idx]
    cor_mat[j, i] <- tri_values[idx]
    idx <- idx + 1
  }
}
rownames(cor_mat) <- colnames(cor_mat) <- madde_adlari
sd_vec <- rep(1, n_items)   # SD bilinmiyorsa 1 → cor_mat = cov_mat
cov_mat <- cor2cov(cor_mat, sds = sd_vec)
 
cat("Matris hazır. Köşegen kontrol (hepsi 1 olmalı):\n")
## Matris hazır. Köşegen kontrol (hepsi 1 olmalı):
cat(diag(cor_mat), "\n")
## 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
cat("Pozitif tanımlı:", all(eigen(cor_mat)$values > 0), "\n\n")
## Pozitif tanımlı: TRUE
get_fit <- function(fit, model_adi) {
  i <- fitMeasures(fit, c("chisq","df","pvalue","cfi","tli",
                           "rmsea","rmsea.ci.lower","rmsea.ci.upper",
                           "srmr","aic","bic"))
  data.frame(
    Model    = model_adi,
    Chi2     = round(i["chisq"], 2),
    df       = as.integer(i["df"]),
    p        = round(i["pvalue"], 3),
    CFI      = round(i["cfi"], 3),
    TLI      = round(i["tli"], 3),
    RMSEA    = round(i["rmsea"], 3),
    RMSEA_LL = round(i["rmsea.ci.lower"], 3),
    RMSEA_UL = round(i["rmsea.ci.upper"], 3),
    SRMR     = round(i["srmr"], 3),
    AIC      = round(i["aic"], 1),
    BIC      = round(i["bic"], 1),
    row.names = NULL
  )
}

2.1 MODEL 1: ALTI FAKTÖRLÜ BİRİNCİ DERECE MODEL (ilişkili faktörler)

Uyum indeksleri yetersiz: CFI = .839, TLI = .808, RMSEA = .088 [.082–.095], SRMR = .109. Hiçbir indeks kabul edilebilir eşiği (CFI ≥ .90, RMSEA ≤ .08) karşılamıyor. Faktör yükleri incelendiğinde çoğu madde beklenen faktörüne yeterli düzeyde yüklenmiş (λ = .581 ile .903 arası Doğal; .818–.879 Uzamsal). Ancak ciddi sorunlar var: Mu2’nin standardize yükü 1.151 Bu 1’i aşan yük, hata varyansının negatif çıkmasına (−.325) yol açıyor. Genellikle faktörün yetersiz sayıda maddeyle tanımlanmasından kaynaklanır (Müziksel = sadece 2 madde). Di1’in yükü .198, R² = .039 Bu madde Dilsel faktörü neredeyse hiç temsil etmiyor. Faktörler arası korelasyonlara bakıldığında Uzamsal-Mantıksal arasındaki korelasyon .820 gibi oldukça yüksek çıkmış, bu iki faktörün ayrışık geçerliliğini sorgulatıyor.

model1 <- '
  Dogal    =~ Do1 + Do2 + Do3 + Do4 + Do5 + Do6
  Bedensel =~ Be1 + Be2 + Be3 + Be4
  Uzamsal  =~ Uz1 + Uz2 + Uz3
  Muziksel =~ Mu1 + Mu2
  Mantiksal =~ Ma1 + Ma2 + Ma3
  Dilsel   =~ Di1 + Di2 + Di3 + Di4
'
 
fit1 <- cfa(model1, sample.cov = cor_mat, sample.nobs = N,
            estimator = "ML")
 
summary(fit1, fit.measures = TRUE, standardized = TRUE, rsquare = TRUE)
## lavaan 0.6-21 ended normally after 100 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        59
## 
##   Number of observations                           339
## 
## Model Test User Model:
##                                                       
##   Test statistic                               708.548
##   Degrees of freedom                               194
##   P-value (Chi-square)                           0.000
## 
## Model Test Baseline Model:
## 
##   Test statistic                              3417.721
##   Degrees of freedom                               231
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.839
##   Tucker-Lewis Index (TLI)                       0.808
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)              -9216.841
##   Loglikelihood unrestricted model (H1)      -8862.567
##                                                       
##   Akaike (AIC)                               18551.682
##   Bayesian (BIC)                             18777.416
##   Sample-size adjusted Bayesian (SABIC)      18590.258
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.088
##   90 Percent confidence interval - lower         0.082
##   90 Percent confidence interval - upper         0.095
##   P-value H_0: RMSEA <= 0.050                    0.000
##   P-value H_0: RMSEA >= 0.080                    0.977
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.109
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   Dogal =~                                                              
##     Do1               1.000                               0.642    0.643
##     Do2               0.905    0.094    9.576    0.000    0.580    0.581
##     Do3               1.091    0.097   11.211    0.000    0.700    0.701
##     Do4               1.222    0.100   12.275    0.000    0.784    0.786
##     Do5               1.368    0.103   13.336    0.000    0.878    0.879
##     Do6               1.405    0.104   13.562    0.000    0.902    0.903
##   Bedensel =~                                                           
##     Be1               1.000                               0.692    0.693
##     Be2               1.022    0.114    8.947    0.000    0.707    0.708
##     Be3               0.583    0.096    6.064    0.000    0.403    0.404
##     Be4               0.683    0.098    6.954    0.000    0.472    0.473
##   Uzamsal =~                                                            
##     Uz1               1.000                               0.877    0.879
##     Uz2               0.970    0.050   19.443    0.000    0.851    0.852
##     Uz3               0.931    0.051   18.390    0.000    0.817    0.818
##   Muziksel =~                                                           
##     Mu1               1.000                               0.493    0.494
##     Mu2               2.330    0.622    3.748    0.000    1.150    1.151
##   Mantiksal =~                                                          
##     Ma1               1.000                               0.725    0.726
##     Ma2               0.452    0.084    5.411    0.000    0.327    0.328
##     Ma3               0.899    0.086   10.444    0.000    0.651    0.652
##   Dilsel =~                                                             
##     Di1               1.000                               0.198    0.198
##     Di2               4.150    1.276    3.253    0.001    0.820    0.822
##     Di3               4.064    1.247    3.259    0.001    0.803    0.805
##     Di4               1.580    0.556    2.842    0.004    0.312    0.313
## 
## Covariances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   Dogal ~~                                                              
##     Bedensel          0.136    0.033    4.098    0.000    0.306    0.306
##     Uzamsal           0.202    0.038    5.279    0.000    0.359    0.359
##     Muziksel          0.050    0.021    2.313    0.021    0.157    0.157
##     Mantiksal         0.203    0.038    5.399    0.000    0.436    0.436
##     Dilsel            0.036    0.014    2.611    0.009    0.282    0.282
##   Bedensel ~~                                                           
##     Uzamsal           0.274    0.048    5.731    0.000    0.452    0.452
##     Muziksel          0.107    0.037    2.863    0.004    0.313    0.313
##     Mantiksal         0.279    0.047    5.903    0.000    0.556    0.556
##     Dilsel            0.043    0.017    2.592    0.010    0.314    0.314
##   Uzamsal ~~                                                            
##     Muziksel          0.057    0.027    2.097    0.036    0.132    0.132
##     Mantiksal         0.522    0.059    8.895    0.000    0.820    0.820
##     Dilsel            0.046    0.018    2.567    0.010    0.265    0.265
##   Muziksel ~~                                                           
##     Mantiksal         0.120    0.041    2.920    0.003    0.337    0.337
##     Dilsel            0.015    0.008    1.845    0.065    0.151    0.151
##   Mantiksal ~~                                                          
##     Dilsel            0.045    0.017    2.581    0.010    0.313    0.313
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .Do1               0.585    0.048   12.235    0.000    0.585    0.587
##    .Do2               0.660    0.053   12.453    0.000    0.660    0.662
##    .Do3               0.507    0.042   11.937    0.000    0.507    0.509
##    .Do4               0.382    0.034   11.188    0.000    0.382    0.383
##    .Do5               0.226    0.025    8.988    0.000    0.226    0.227
##    .Do6               0.184    0.023    7.881    0.000    0.184    0.184
##    .Be1               0.519    0.061    8.556    0.000    0.519    0.520
##    .Be2               0.498    0.061    8.187    0.000    0.498    0.499
##    .Be3               0.835    0.069   12.129    0.000    0.835    0.837
##    .Be4               0.774    0.066   11.691    0.000    0.774    0.776
##    .Uz1               0.227    0.029    7.769    0.000    0.227    0.228
##    .Uz2               0.273    0.031    8.875    0.000    0.273    0.274
##    .Uz3               0.329    0.033    9.903    0.000    0.329    0.330
##    .Mu1               0.754    0.083    9.045    0.000    0.754    0.756
##    .Mu2              -0.325    0.326   -0.995    0.320   -0.325   -0.326
##    .Ma1               0.472    0.053    8.863    0.000    0.472    0.473
##    .Ma2               0.890    0.070   12.660    0.000    0.890    0.892
##    .Ma3               0.573    0.055   10.502    0.000    0.573    0.575
##    .Di1               0.958    0.074   12.893    0.000    0.958    0.961
##    .Di2               0.324    0.074    4.394    0.000    0.324    0.325
##    .Di3               0.352    0.072    4.891    0.000    0.352    0.353
##    .Di4               0.900    0.071   12.680    0.000    0.900    0.902
##     Dogal             0.412    0.064    6.422    0.000    1.000    1.000
##     Bedensel          0.478    0.080    5.997    0.000    1.000    1.000
##     Uzamsal           0.770    0.078    9.850    0.000    1.000    1.000
##     Muziksel          0.244    0.078    3.116    0.002    1.000    1.000
##     Mantiksal         0.525    0.078    6.740    0.000    1.000    1.000
##     Dilsel            0.039    0.024    1.655    0.098    1.000    1.000
## 
## R-Square:
##                    Estimate
##     Do1               0.413
##     Do2               0.338
##     Do3               0.491
##     Do4               0.617
##     Do5               0.773
##     Do6               0.816
##     Be1               0.480
##     Be2               0.501
##     Be3               0.163
##     Be4               0.224
##     Uz1               0.772
##     Uz2               0.726
##     Uz3               0.670
##     Mu1               0.244
##     Mu2                  NA
##     Ma1               0.527
##     Ma2               0.108
##     Ma3               0.425
##     Di1               0.039
##     Di2               0.675
##     Di3               0.647
##     Di4               0.098
cat("\n--- Faktörler Arası Korelasyonlar ---\n")
## 
## --- Faktörler Arası Korelasyonlar ---
print(round(lavInspect(fit1, "cor.lv"), 3))
##           Dogal Bednsl Uzamsl Muzksl Mntksl Dilsel
## Dogal     1.000                                   
## Bedensel  0.306  1.000                            
## Uzamsal   0.359  0.452  1.000                     
## Muziksel  0.157  0.313  0.132  1.000              
## Mantiksal 0.436  0.556  0.820  0.337  1.000       
## Dilsel    0.282  0.314  0.265  0.151  0.313  1.000
cat("\n--- Standardize Faktör Yükleri ---\n")
## 
## --- Standardize Faktör Yükleri ---
s1 <- standardizedSolution(fit1)
print(s1[s1$op == "=~", c("lhs","rhs","est.std","se","z","pvalue")])
##          lhs rhs est.std    se      z pvalue
## 1      Dogal Do1   0.643 0.034 18.715  0.000
## 2      Dogal Do2   0.581 0.038 15.158  0.000
## 3      Dogal Do3   0.701 0.030 23.230  0.000
## 4      Dogal Do4   0.786 0.024 33.291  0.000
## 5      Dogal Do5   0.879 0.016 54.578  0.000
## 6      Dogal Do6   0.903 0.014 62.790  0.000
## 7   Bedensel Be1   0.693 0.043 15.925  0.000
## 8   Bedensel Be2   0.708 0.043 16.433  0.000
## 9   Bedensel Be3   0.404 0.055  7.333  0.000
## 10  Bedensel Be4   0.473 0.052  9.050  0.000
## 11   Uzamsal Uz1   0.879 0.018 48.216  0.000
## 12   Uzamsal Uz2   0.852 0.020 42.733  0.000
## 13   Uzamsal Uz3   0.818 0.022 36.746  0.000
## 14  Muziksel Mu1   0.494 0.073  6.737  0.000
## 15  Muziksel Mu2   1.151 0.143  8.065  0.000
## 16 Mantiksal Ma1   0.726 0.037 19.493  0.000
## 17 Mantiksal Ma2   0.328 0.055  6.008  0.000
## 18 Mantiksal Ma3   0.652 0.040 16.365  0.000
## 19    Dilsel Di1   0.198 0.058  3.391  0.001
## 20    Dilsel Di2   0.822 0.046 17.891  0.000
## 21    Dilsel Di3   0.805 0.046 17.586  0.000
## 22    Dilsel Di4   0.313 0.055  5.648  0.000

2.2 MODEL 2: İKİNCİ DERECELİ MODEL (6 faktör → tek G)

CFI = .842, RMSEA = .086 M1’e göre iyileşme var, AIC daha düşük (18532 < 18552). Ancak M1 vs M2 ki-kare fark testi negatif Δχ² veriyor (−1.41), bu normalden sapma ve model tanımlama sorununa işaret ediyor. G faktörünün Mantıksal’a yükü 1.089 ve Dilsel’e yükü 1.027 İkisi de 1’i aşıyor. Bu faktörlerin birinci derece varyansları G tarafından tamamen açıklanıyor hatta “aşılıyor”, dolayısıyla bu faktörlerin R² değerleri NA çıkıyor. Tek bir G faktörüyle tüm altı boyutu hiyerarşik olarak modellemek bu veri için uygun görünmüyor.

model2 <- '
  # Birinci derece
  Dogal    =~ Do1 + Do2 + Do3 + Do4 + Do5 + Do6
  Bedensel =~ Be1 + Be2 + Be3 + Be4
  Uzamsal  =~ Uz1 + Uz2 + Uz3
  Muziksel =~ Mu1 + Mu2
  Mantiksal =~ Ma1 + Ma2 + Ma3
  Dilsel   =~ Di1 + Di2 + Di3 + Di4
  # İkinci derece
  G =~ Dogal + Bedensel + Uzamsal + Muziksel + Mantiksal + Dilsel
'
 
fit2 <- cfa(model2, sample.cov = cor_mat, sample.nobs = N,
            estimator = "ML")
 
summary(fit2, fit.measures = TRUE, standardized = TRUE, rsquare = TRUE)
## lavaan 0.6-21 ended normally after 68 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        50
## 
##   Number of observations                           339
## 
## Model Test User Model:
##                                                       
##   Test statistic                               707.135
##   Degrees of freedom                               203
##   P-value (Chi-square)                           0.000
## 
## Model Test Baseline Model:
## 
##   Test statistic                              3417.721
##   Degrees of freedom                               231
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.842
##   Tucker-Lewis Index (TLI)                       0.820
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)              -9216.134
##   Loglikelihood unrestricted model (H1)      -8862.567
##                                                       
##   Akaike (AIC)                               18532.268
##   Bayesian (BIC)                             18723.568
##   Sample-size adjusted Bayesian (SABIC)      18564.960
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.086
##   90 Percent confidence interval - lower         0.079
##   90 Percent confidence interval - upper         0.093
##   P-value H_0: RMSEA <= 0.050                    0.000
##   P-value H_0: RMSEA >= 0.080                    0.912
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.088
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   Dogal =~                                                              
##     Do1               1.000                               0.640    0.641
##     Do2               0.907    0.095    9.552    0.000    0.580    0.581
##     Do3               1.093    0.098   11.172    0.000    0.699    0.700
##     Do4               1.226    0.100   12.235    0.000    0.784    0.786
##     Do5               1.373    0.103   13.287    0.000    0.878    0.880
##     Do6               1.410    0.104   13.512    0.000    0.902    0.904
##   Bedensel =~                                                           
##     Be1               1.000                               0.670    0.671
##     Be2               1.088    0.128    8.502    0.000    0.728    0.729
##     Be3               0.628    0.102    6.173    0.000    0.420    0.421
##     Be4               0.692    0.103    6.697    0.000    0.463    0.464
##   Uzamsal =~                                                            
##     Uz1               1.000                               0.878    0.879
##     Uz2               0.970    0.050   19.315    0.000    0.851    0.852
##     Uz3               0.931    0.051   18.285    0.000    0.817    0.818
##   Muziksel =~                                                           
##     Mu1               1.000                               0.562    0.563
##     Mu2               1.794    0.481    3.732    0.000    1.009    1.010
##   Mantiksal =~                                                          
##     Ma1               1.000                               0.648    0.649
##     Ma2               0.661    0.091    7.294    0.000    0.428    0.429
##     Ma3               1.110    0.096   11.536    0.000    0.720    0.721
##   Dilsel =~                                                             
##     Di1               1.000                               0.744    0.745
##     Di2               0.324    0.076    4.241    0.000    0.241    0.242
##     Di3               0.274    0.077    3.582    0.000    0.204    0.204
##     Di4               0.519    0.076    6.828    0.000    0.386    0.387
##   G =~                                                                  
##     Dogal             1.000                               0.418    0.418
##     Bedensel          1.316    0.266    4.937    0.000    0.525    0.525
##     Uzamsal           2.357    0.387    6.094    0.000    0.718    0.718
##     Muziksel          0.666    0.235    2.829    0.005    0.317    0.317
##     Mantiksal         2.640    0.431    6.130    0.000    1.089    1.089
##     Dilsel            2.859    0.450    6.355    0.000    1.027    1.027
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .Do1               0.588    0.048   12.242    0.000    0.588    0.589
##    .Do2               0.660    0.053   12.453    0.000    0.660    0.662
##    .Do3               0.508    0.043   11.939    0.000    0.508    0.510
##    .Do4               0.382    0.034   11.184    0.000    0.382    0.383
##    .Do5               0.226    0.025    8.962    0.000    0.226    0.226
##    .Do6               0.183    0.023    7.832    0.000    0.183    0.183
##    .Be1               0.549    0.063    8.749    0.000    0.549    0.550
##    .Be2               0.467    0.064    7.271    0.000    0.467    0.468
##    .Be3               0.820    0.068   11.979    0.000    0.820    0.823
##    .Be4               0.782    0.067   11.686    0.000    0.782    0.785
##    .Uz1               0.227    0.030    7.643    0.000    0.227    0.228
##    .Uz2               0.273    0.031    8.765    0.000    0.273    0.274
##    .Uz3               0.330    0.034    9.845    0.000    0.330    0.331
##    .Mu1               0.681    0.096    7.070    0.000    0.681    0.683
##    .Mu2              -0.021    0.260   -0.080    0.936   -0.021   -0.021
##    .Ma1               0.577    0.051   11.373    0.000    0.577    0.579
##    .Ma2               0.814    0.064   12.675    0.000    0.814    0.816
##    .Ma3               0.479    0.047   10.136    0.000    0.479    0.481
##    .Di1               0.443    0.064    6.887    0.000    0.443    0.445
##    .Di2               0.939    0.073   12.913    0.000    0.939    0.942
##    .Di3               0.955    0.074   12.949    0.000    0.955    0.958
##    .Di4               0.848    0.067   12.618    0.000    0.848    0.850
##    .Dogal             0.338    0.054    6.316    0.000    0.826    0.826
##    .Bedensel          0.325    0.061    5.340    0.000    0.724    0.724
##    .Uzamsal           0.373    0.047    8.014    0.000    0.485    0.485
##    .Muziksel          0.284    0.082    3.476    0.001    0.900    0.900
##    .Mantiksal        -0.078    0.029   -2.646    0.008   -0.185   -0.185
##    .Dilsel           -0.030    0.057   -0.530    0.596   -0.055   -0.055
##     G                 0.071    0.022    3.255    0.001    1.000    1.000
## 
## R-Square:
##                    Estimate
##     Do1               0.411
##     Do2               0.338
##     Do3               0.490
##     Do4               0.617
##     Do5               0.774
##     Do6               0.817
##     Be1               0.450
##     Be2               0.532
##     Be3               0.177
##     Be4               0.215
##     Uz1               0.772
##     Uz2               0.726
##     Uz3               0.669
##     Mu1               0.317
##     Mu2                  NA
##     Ma1               0.421
##     Ma2               0.184
##     Ma3               0.519
##     Di1               0.555
##     Di2               0.058
##     Di3               0.042
##     Di4               0.150
##     Dogal             0.174
##     Bedensel          0.276
##     Uzamsal           0.515
##     Muziksel          0.100
##     Mantiksal            NA
##     Dilsel               NA
cat("\n--- Model 1 vs Model 2 Ki-Kare Fark Testi ---\n")
## 
## --- Model 1 vs Model 2 Ki-Kare Fark Testi ---
print(lavTestLRT(fit1, fit2))
## 
## Chi-Squared Difference Test
## 
##       Df   AIC   BIC  Chisq Chisq diff RMSEA Df diff Pr(>Chisq)
## fit1 194 18552 18777 708.55                                    
## fit2 203 18532 18724 707.13    -1.4135     0       9          1

2.3 MODEL 3: İKİ İKİNCİ DERECE FAKTÖR (Bilişsel/Bilişsel Olmayan)

En iyi uyumu veren çalışan model bu: CFI = .846, RMSEA = .085, SRMR = .087, AIC = 18521 (en düşük). G_Bil ve G_BOl arasındaki korelasyon .653 İki genel boyutun birbirinden makul düzeyde ayrıştığını gösteriyor. Yine de Heywood sorunu (Mu2, Mantıksal, Dilsel) devam ediyor ve uyum indeksleri kabul edilebilir eşiğin altında kalıyor.

model3 <- '
  # Birinci derece
  Dogal    =~ Do1 + Do2 + Do3 + Do4 + Do5 + Do6
  Bedensel =~ Be1 + Be2 + Be3 + Be4
  Uzamsal  =~ Uz1 + Uz2 + Uz3
  Muziksel =~ Mu1 + Mu2
  Mantiksal =~ Ma1 + Ma2 + Ma3
  Dilsel   =~ Di1 + Di2 + Di3 + Di4
  # İki ikinci derece faktör
  G_Bil =~ Mantiksal + Dilsel + Uzamsal + Dogal
  G_BOl =~ Muziksel + Bedensel
  # İkinci derece faktörler arası korelasyon (serbest)
  G_Bil ~~ G_BOl
'
 
fit3 <- cfa(model3, sample.cov = cor_mat, sample.nobs = N,
            estimator = "ML")
 
summary(fit3, fit.measures = TRUE, standardized = TRUE, rsquare = TRUE)
## lavaan 0.6-21 ended normally after 73 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        51
## 
##   Number of observations                           339
## 
## Model Test User Model:
##                                                       
##   Test statistic                               694.016
##   Degrees of freedom                               202
##   P-value (Chi-square)                           0.000
## 
## Model Test Baseline Model:
## 
##   Test statistic                              3417.721
##   Degrees of freedom                               231
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.846
##   Tucker-Lewis Index (TLI)                       0.823
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)              -9209.575
##   Loglikelihood unrestricted model (H1)      -8862.567
##                                                       
##   Akaike (AIC)                               18521.149
##   Bayesian (BIC)                             18716.275
##   Sample-size adjusted Bayesian (SABIC)      18554.494
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.085
##   90 Percent confidence interval - lower         0.078
##   90 Percent confidence interval - upper         0.092
##   P-value H_0: RMSEA <= 0.050                    0.000
##   P-value H_0: RMSEA >= 0.080                    0.875
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.087
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   Dogal =~                                                              
##     Do1               1.000                               0.640    0.641
##     Do2               0.907    0.095    9.551    0.000    0.580    0.581
##     Do3               1.093    0.098   11.171    0.000    0.699    0.700
##     Do4               1.226    0.100   12.234    0.000    0.784    0.786
##     Do5               1.373    0.103   13.285    0.000    0.878    0.880
##     Do6               1.410    0.104   13.511    0.000    0.902    0.904
##   Bedensel =~                                                           
##     Be1               1.000                               0.678    0.679
##     Be2               1.064    0.122    8.747    0.000    0.721    0.722
##     Be3               0.632    0.100    6.334    0.000    0.428    0.429
##     Be4               0.673    0.101    6.683    0.000    0.456    0.457
##   Uzamsal =~                                                            
##     Uz1               1.000                               0.878    0.879
##     Uz2               0.970    0.050   19.318    0.000    0.851    0.852
##     Uz3               0.930    0.051   18.279    0.000    0.817    0.818
##   Muziksel =~                                                           
##     Mu1               1.000                               0.507    0.508
##     Mu2               2.206    0.630    3.503    0.000    1.119    1.120
##   Mantiksal =~                                                          
##     Ma1               1.000                               0.646    0.647
##     Ma2               0.665    0.091    7.292    0.000    0.430    0.430
##     Ma3               1.121    0.097   11.524    0.000    0.724    0.725
##   Dilsel =~                                                             
##     Di1               1.000                               0.747    0.748
##     Di2               0.318    0.076    4.181    0.000    0.238    0.238
##     Di3               0.267    0.076    3.503    0.000    0.199    0.200
##     Di4               0.516    0.076    6.819    0.000    0.385    0.386
##   G_Bil =~                                                              
##     Mantiksal         1.000                               1.089    1.089
##     Dilsel            1.093    0.095   11.472    0.000    1.028    1.028
##     Uzamsal           0.895    0.087   10.232    0.000    0.717    0.717
##     Dogal             0.378    0.062    6.086    0.000    0.415    0.415
##   G_BOl =~                                                              
##     Muziksel          1.000                               0.410    0.410
##     Bedensel          2.556    0.950    2.691    0.007    0.784    0.784
## 
## Covariances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   G_Bil ~~                                                              
##     G_BOl             0.095    0.035    2.694    0.007    0.653    0.653
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .Do1               0.588    0.048   12.242    0.000    0.588    0.589
##    .Do2               0.660    0.053   12.453    0.000    0.660    0.662
##    .Do3               0.508    0.043   11.939    0.000    0.508    0.510
##    .Do4               0.382    0.034   11.183    0.000    0.382    0.383
##    .Do5               0.226    0.025    8.962    0.000    0.226    0.226
##    .Do6               0.183    0.023    7.828    0.000    0.183    0.183
##    .Be1               0.538    0.062    8.738    0.000    0.538    0.539
##    .Be2               0.477    0.062    7.667    0.000    0.477    0.479
##    .Be3               0.813    0.068   11.960    0.000    0.813    0.816
##    .Be4               0.789    0.067   11.775    0.000    0.789    0.791
##    .Uz1               0.227    0.030    7.638    0.000    0.227    0.227
##    .Uz2               0.273    0.031    8.761    0.000    0.273    0.274
##    .Uz3               0.330    0.034    9.849    0.000    0.330    0.331
##    .Mu1               0.740    0.089    8.281    0.000    0.740    0.742
##    .Mu2              -0.255    0.336   -0.757    0.449   -0.255   -0.255
##    .Ma1               0.580    0.051   11.405    0.000    0.580    0.582
##    .Ma2               0.813    0.064   12.668    0.000    0.813    0.815
##    .Ma3               0.473    0.047   10.046    0.000    0.473    0.475
##    .Di1               0.439    0.065    6.789    0.000    0.439    0.440
##    .Di2               0.941    0.073   12.918    0.000    0.941    0.943
##    .Di3               0.957    0.074   12.953    0.000    0.957    0.960
##    .Di4               0.849    0.067   12.624    0.000    0.849    0.851
##    .Dogal             0.339    0.054    6.317    0.000    0.828    0.828
##    .Bedensel          0.177    0.067    2.638    0.008    0.386    0.386
##    .Uzamsal           0.374    0.047    8.016    0.000    0.486    0.486
##    .Muziksel          0.214    0.061    3.497    0.000    0.832    0.832
##    .Mantiksal        -0.077    0.030   -2.620    0.009   -0.186   -0.186
##    .Dilsel           -0.032    0.058   -0.544    0.587   -0.056   -0.056
##     G_Bil             0.494    0.075    6.614    0.000    1.000    1.000
##     G_BOl             0.043    0.029    1.466    0.143    1.000    1.000
## 
## R-Square:
##                    Estimate
##     Do1               0.411
##     Do2               0.338
##     Do3               0.490
##     Do4               0.617
##     Do5               0.774
##     Do6               0.817
##     Be1               0.461
##     Be2               0.521
##     Be3               0.184
##     Be4               0.209
##     Uz1               0.773
##     Uz2               0.726
##     Uz3               0.669
##     Mu1               0.258
##     Mu2                  NA
##     Ma1               0.418
##     Ma2               0.185
##     Ma3               0.525
##     Di1               0.560
##     Di2               0.057
##     Di3               0.040
##     Di4               0.149
##     Dogal             0.172
##     Bedensel          0.614
##     Uzamsal           0.514
##     Muziksel          0.168
##     Mantiksal            NA
##     Dilsel               NA
cat("\n--- G_Bil ve G_BOl Korelasyonu ---\n")
## 
## --- G_Bil ve G_BOl Korelasyonu ---
print(round(lavInspect(fit3, "cor.lv"), 3))
##           Dogal Bednsl Uzamsl Muzksl Mntksl Dilsel G_Bil G_BOl
## Dogal     1.000                                               
## Bedensel  0.212  1.000                                        
## Uzamsal   0.298  0.367  1.000                                 
## Muziksel  0.111  0.321  0.192  1.000                          
## Mantiksal 0.452  0.557  0.781  0.291  1.000                   
## Dilsel    0.427  0.526  0.737  0.275  1.119  1.000            
## G_Bil     0.415  0.512  0.717  0.268  1.089  1.028 1.000      
## G_BOl     0.271  0.784  0.468  0.410  0.711  0.671 0.653 1.000
cat("\n--- Model 1 vs Model 3 Ki-Kare Fark Testi ---\n")
## 
## --- Model 1 vs Model 3 Ki-Kare Fark Testi ---
print(lavTestLRT(fit1, fit3))
## 
## Chi-Squared Difference Test
## 
##       Df   AIC   BIC  Chisq Chisq diff RMSEA Df diff Pr(>Chisq)
## fit1 194 18552 18777 708.55                                    
## fit3 202 18521 18716 694.02    -14.533     0       8          1

2.4 MODEL 4: İKİLİ FAKTÖRLÜ (BI-FACTOR) MODEL

Model yakınsayamadı. S_Ma varyansı −20.684, S_Mu = 492, Di2 ve Di3 madde yükleri 70.000 civarı gibi imkânsız değerler üretildi. Bu, modelin tanımlanamaz (non-identified) olduğunu gösteriyor. Başlıca nedenler: az madde sayısına sahip faktörler (Müziksel 2 madde, ECV = .009 gibi anlamsız bir değer), bazı faktörlerde G ile S faktörleri arasında varyansın bölünememesi ve mevcut korelasyon yapısının bi-factor çözümünü desteklememesi.

model4 <- '
  # Genel faktör (tüm 22 madde)
  G =~ Do1+Do2+Do3+Do4+Do5+Do6 +
       Be1+Be2+Be3+Be4 +
       Uz1+Uz2+Uz3 +
       Mu1+Mu2 +
       Ma1+Ma2+Ma3 +
       Di1+Di2+Di3+Di4
  # Özgül faktörler
  S_Do =~ Do1+Do2+Do3+Do4+Do5+Do6
  S_Be =~ Be1+Be2+Be3+Be4
  S_Uz =~ Uz1+Uz2+Uz3
  S_Mu =~ Mu1+Mu2
  S_Ma =~ Ma1+Ma2+Ma3
  S_Di =~ Di1+Di2+Di3+Di4
'
 
fit4 <- cfa(model4, sample.cov = cor_mat, sample.nobs = N,
            estimator  = "ML",
            orthogonal = TRUE)   # G ve S faktörleri birbirinden bağımsız
 
summary(fit4, fit.measures = TRUE, standardized = TRUE, rsquare = TRUE)
## lavaan 0.6-21 did NOT end normally after 1057 iterations
## ** WARNING ** Estimates below are most likely unreliable
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        66
## 
##   Number of observations                           339
## 
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## Latent Variables:
##                    Estimate    Std.Err  z-value  P(>|z|)   Std.lv   Std.all 
##   G =~                                                                      
##     Do1                 1.000                                0.312     0.313
##     Do2                 0.414       NA                       0.129     0.129
##     Do3                 0.509       NA                       0.159     0.159
##     Do4                 0.975       NA                       0.304     0.305
##     Do5                 1.460       NA                       0.456     0.457
##     Do6                 1.067       NA                       0.333     0.334
##     Be1                 1.058       NA                       0.330     0.331
##     Be2                 1.069       NA                       0.334     0.334
##     Be3                 0.321       NA                       0.100     0.100
##     Be4                 1.310       NA                       0.409     0.410
##     Uz1                 2.092       NA                       0.653     0.654
##     Uz2                 1.882       NA                       0.587     0.588
##     Uz3                 1.762       NA                       0.550     0.551
##     Mu1                 0.538       NA                       0.168     0.168
##     Mu2                 1.024       NA                       0.320     0.320
##     Ma1                 2.414       NA                       0.754     0.761
##     Ma2                 1.599       NA                       0.499     0.500
##     Ma3                 2.575       NA                       0.804     0.805
##     Di1                 2.365       NA                       0.738     0.739
##     Di2                 0.678       NA                       0.212     0.212
##     Di3                 0.530       NA                       0.165     0.165
##     Di4                 1.177       NA                       0.367     0.368
##   S_Do =~                                                                   
##     Do1                 1.000                                0.558     0.559
##     Do2                 1.047       NA                       0.584     0.585
##     Do3                 1.261       NA                       0.704     0.705
##     Do4                 1.298       NA                       0.724     0.725
##     Do5                 1.354       NA                       0.756     0.757
##     Do6                 1.507       NA                       0.841     0.842
##   S_Be =~                                                                   
##     Be1                 1.000                                0.570     0.571
##     Be2                 1.193       NA                       0.680     0.681
##     Be3                 0.820       NA                       0.468     0.469
##     Be4                 0.429       NA                       0.245     0.245
##   S_Uz =~                                                                   
##     Uz1                 1.000                                0.568     0.569
##     Uz2                 1.105       NA                       0.628     0.629
##     Uz3                 1.088       NA                       0.619     0.620
##   S_Mu =~                                                                   
##     Mu1                 1.000                               22.186    22.218
##     Mu2                 0.001       NA                       0.023     0.023
##   S_Ma =~                                                                   
##     Ma1                 1.000                                   NA        NA
##     Ma2                 0.000       NA                          NA        NA
##     Ma3                 0.000       NA                          NA        NA
##   S_Di =~                                                                   
##     Di1                 1.000                                0.000     0.000
##     Di2             71287.381       NA                       0.827     0.829
##     Di3             66636.184       NA                       0.773     0.774
##     Di4             15741.068       NA                       0.183     0.183
## 
## Covariances:
##                    Estimate    Std.Err  z-value  P(>|z|)   Std.lv   Std.all 
##   G ~~                                                                      
##     S_Do                0.000                                0.000     0.000
##     S_Be                0.000                                0.000     0.000
##     S_Uz                0.000                                0.000     0.000
##     S_Mu                0.000                                0.000     0.000
##     S_Ma                0.000                                0.000     0.000
##     S_Di                0.000                                0.000     0.000
##   S_Do ~~                                                                   
##     S_Be                0.000                                0.000     0.000
##     S_Uz                0.000                                0.000     0.000
##     S_Mu                0.000                                0.000     0.000
##     S_Ma                0.000                                0.000     0.000
##     S_Di                0.000                                0.000     0.000
##   S_Be ~~                                                                   
##     S_Uz                0.000                                0.000     0.000
##     S_Mu                0.000                                0.000     0.000
##     S_Ma                0.000                                0.000     0.000
##     S_Di                0.000                                0.000     0.000
##   S_Uz ~~                                                                   
##     S_Mu                0.000                                0.000     0.000
##     S_Ma                0.000                                0.000     0.000
##     S_Di                0.000                                0.000     0.000
##   S_Mu ~~                                                                   
##     S_Ma                0.000                                0.000     0.000
##     S_Di                0.000                                0.000     0.000
##   S_Ma ~~                                                                   
##     S_Di                0.000                                0.000     0.000
## 
## Variances:
##                    Estimate    Std.Err  z-value  P(>|z|)   Std.lv   Std.all 
##    .Do1                 0.588       NA                       0.588     0.590
##    .Do2                 0.639       NA                       0.639     0.641
##    .Do3                 0.477       NA                       0.477     0.478
##    .Do4                 0.380       NA                       0.380     0.381
##    .Do5                 0.218       NA                       0.218     0.219
##    .Do6                 0.179       NA                       0.179     0.179
##    .Be1                 0.563       NA                       0.563     0.564
##    .Be2                 0.423       NA                       0.423     0.424
##    .Be3                 0.768       NA                       0.768     0.770
##    .Be4                 0.770       NA                       0.770     0.772
##    .Uz1                 0.247       NA                       0.247     0.248
##    .Uz2                 0.257       NA                       0.257     0.258
##    .Uz3                 0.312       NA                       0.312     0.313
##    .Mu1              -491.236       NA                    -491.236  -492.690
##    .Mu2                 0.894       NA                       0.894     0.897
##    .Ma1             20684.668       NA                   20684.668 21077.797
##    .Ma2                 0.748       NA                       0.748     0.750
##    .Ma3                 0.351       NA                       0.351     0.352
##    .Di1                 0.452       NA                       0.452     0.454
##    .Di2                 0.268       NA                       0.268     0.269
##    .Di3                 0.372       NA                       0.372     0.373
##    .Di4                 0.826       NA                       0.826     0.831
##     G                   0.097       NA                       1.000     1.000
##     S_Do                0.311       NA                       1.000     1.000
##     S_Be                0.325       NA                       1.000     1.000
##     S_Uz                0.323       NA                       1.000     1.000
##     S_Mu              492.205       NA                       1.000     1.000
##     S_Ma           -20684.254       NA                          NA        NA
##     S_Di                0.000       NA                       1.000     1.000
## 
## R-Square:
##                    Estimate  
##     Do1                 0.410
##     Do2                 0.359
##     Do3                 0.522
##     Do4                 0.619
##     Do5                 0.781
##     Do6                 0.821
##     Be1                 0.436
##     Be2                 0.576
##     Be3                 0.230
##     Be4                 0.228
##     Uz1                 0.752
##     Uz2                 0.742
##     Uz3                 0.687
##     Mu1                    NA
##     Mu2                 0.103
##     Ma1            -21076.797
##     Ma2                 0.250
##     Ma3                 0.648
##     Di1                 0.546
##     Di2                 0.731
##     Di3                 0.627
##     Di4                 0.169

2.4.1 Açıklanan Ortak Varyans

lam <- lavInspect(fit4, "std")$lambda

# NA durumunu kontrol et
cat("NA sayısı:", sum(is.na(lam)), "\n")
## NA sayısı: 3
cat("Lambda matrisinin ilk 6 satırı:\n")
## Lambda matrisinin ilk 6 satırı:
print(round(lam[1:6, ], 3))
##         G  S_Do S_Be S_Uz S_Mu S_Ma S_Di
## Do1 0.313 0.559    0    0    0    0    0
## Do2 0.129 0.585    0    0    0    0    0
## Do3 0.159 0.705    0    0    0    0    0
## Do4 0.305 0.725    0    0    0    0    0
## Do5 0.457 0.757    0    0    0    0    0
## Do6 0.334 0.842    0    0    0    0    0
# G sütunu
lam_G <- lam[, "G"]

# Özgül faktör sütunları (G hariç)
lam_S <- lam[, c("S_Do","S_Be","S_Uz","S_Mu","S_Ma","S_Di")]

# NA'ları 0 kabul ederek ECV hesapla
# (NA = o madde o faktöre yüklenmez = 0 yük)
ecv <- sum(lam_G^2, na.rm = TRUE) /
       (sum(lam_G^2, na.rm = TRUE) + sum(lam_S^2, na.rm = TRUE))

cat(sprintf("\nECV = %.3f\n", ecv))
## 
## ECV = 0.009
cat(sprintf("Genel faktör ortak varyansın %%%.1f'ini açıklıyor\n", ecv * 100))
## Genel faktör ortak varyansın %0.9'ini açıklıyor
if (!is.na(ecv)) {
  if (ecv >= 0.70) cat("→ ECV ≥ .70: Genel faktör yorumu güçlüdür.\n") else
    cat("→ ECV < .70: Özgül faktörler de anlamlı katkı sunuyor.\n")
}
## → ECV < .70: Özgül faktörler de anlamlı katkı sunuyor.
# Ek: Her maddenin G ve S yükleri ─────────────────────────
cat("\n── Her Maddenin Genel (G) ve Özgül (S) Faktör Yükleri ──\n")
## 
## ── Her Maddenin Genel (G) ve Özgül (S) Faktör Yükleri ──
sonuc <- data.frame(
  Madde  = rownames(lam),
  G_yuku = round(lam_G, 3),
  S_yuku = round(apply(lam_S, 1, function(x) x[!is.na(x)][1]), 3)
)
print(sonuc)
##     Madde G_yuku S_yuku
## Do1   Do1  0.313  0.559
## Do2   Do2  0.129  0.585
## Do3   Do3  0.159  0.705
## Do4   Do4  0.305  0.725
## Do5   Do5  0.457  0.757
## Do6   Do6  0.334  0.842
## Be1   Be1  0.331  0.000
## Be2   Be2  0.334  0.000
## Be3   Be3  0.100  0.000
## Be4   Be4  0.410  0.000
## Uz1   Uz1  0.654  0.000
## Uz2   Uz2  0.588  0.000
## Uz3   Uz3  0.551  0.000
## Mu1   Mu1  0.168  0.000
## Mu2   Mu2  0.320  0.000
## Ma1   Ma1  0.761  0.000
## Ma2   Ma2  0.500  0.000
## Ma3   Ma3  0.805  0.000
## Di1   Di1  0.739  0.000
## Di2   Di2  0.212  0.000
## Di3   Di3  0.165  0.000
## Di4   Di4  0.368  0.000

Bu veri setinde hiçbir model yeterli uyum sağlayamamıştır. Bunun başlıca nedenleri, Müziksel faktörünün yalnızca 2 maddeyle tanımlanması, Uzamsal–Mantıksal arasındaki aşırı korelasyon (.820), ve Dilsel faktöründeki madde tutarsızlığı (Di1 çok düşük yük).

3 Soru 2:

mot <- readRDS("mot.Rds")
 
cat("=== Veri Özeti ===\n")
## === Veri Özeti ===
cat("Boyut:", dim(mot), "\n")
## Boyut: 852 17
cat("Değişken isimleri:\n")
## Değişken isimleri:
print(names(mot))
##  [1] "ext1"  "ext2"  "ext3"  "ext4"  "ext5"  "ext6"  "ext7"  "ext8"  "ext9" 
## [10] "ext10" "ext11" "ext12" "int1"  "int2"  "int3"  "int4"  "int5"
cat("\nİlk 6 satır:\n")
## 
## İlk 6 satır:
print(head(mot))
##   ext1 ext2 ext3 ext4 ext5 ext6 ext7 ext8 ext9 ext10 ext11 ext12 int1 int2 int3
## 1    1    0    0    0    1    1    1    0    0     0     0     0    1    1    0
## 3    0    0    0    0    1    0    0    0    0     0     0     0    0    0    0
## 4    0    1    1    0    1    1    1    0    1     1     1     1    1    1    1
## 5    1    0    1    0    1    1    0    1    0     0     1     1    1    1    0
## 6    0   NA    1   NA    1    1   NA   NA   NA    NA    NA    NA   NA   NA   NA
## 8    1    0    1    0    1    1    0    0    0     1     0     1    1    1    0
##   int4 int5
## 1    0    1
## 3    1    0
## 4    1    1
## 5    1    0
## 6    1   NA
## 8    1    1
# Madde adlarının kontrolü
ext_maddeler <- paste0("ext", 1:12)
int_maddeler <- paste0("int", 1:5)
tum_maddeler <- c(ext_maddeler, int_maddeler)
 
cat("\nVeri setinde eksik madde var mı?\n")
## 
## Veri setinde eksik madde var mı?
eksik <- tum_maddeler[!tum_maddeler %in% names(mot)]
if (length(eksik) > 0) cat("EKSİK:", eksik, "\n") else cat("Tüm maddeler mevcut.\n")
## Tüm maddeler mevcut.
# Değişkenleri ordered (sıralı kategorik) olarak tanımla
# WLSMV için zorunlu
for (m in tum_maddeler) {
  mot[[m]] <- ordered(mot[[m]])
}
cat("\nOrdered faktör kontrolü (ext1):", class(mot$ext1), "\n")
## 
## Ordered faktör kontrolü (ext1): ordered factor
cat("\n=== Madde Düzeyinde Tanımlayıcı İstatistikler ===\n")
## 
## === Madde Düzeyinde Tanımlayıcı İstatistikler ===
item_stats <- data.frame(
  Madde  = tum_maddeler,
  P_1    = sapply(tum_maddeler, function(x) mean(as.numeric(as.character(mot[[x]])), na.rm=TRUE)),
  N_eksik = sapply(tum_maddeler, function(x) sum(is.na(mot[[x]])))
)
item_stats$P_1 <- round(item_stats$P_1, 3)
print(item_stats)
##       Madde   P_1 N_eksik
## ext1   ext1 0.487       8
## ext2   ext2 0.282      37
## ext3   ext3 0.315      37
## ext4   ext4 0.061      37
## ext5   ext5 0.874      10
## ext6   ext6 0.858      30
## ext7   ext7 0.408      38
## ext8   ext8 0.151      36
## ext9   ext9 0.069      37
## ext10 ext10 0.272      20
## ext11 ext11 0.150      38
## ext12 ext12 0.498      34
## int1   int1 0.746      37
## int2   int2 0.894      15
## int3   int3 0.428      36
## int4   int4 0.812      34
## int5   int5 0.611      34
# Tetrakroik korelasyon matrisi (psych paketi ile görselleştirme için)
cat("\n=== Tetrakroik Korelasyon Matrisi ===\n")
## 
## === Tetrakroik Korelasyon Matrisi ===
mot_num <- data.frame(lapply(mot[tum_maddeler],
                              function(x) as.numeric(as.character(x))))
library(psych)
tetra <- tetrachoric(mot_num)
cat("\nTetrakroik Korelasyon Matrisi:\n")
## 
## Tetrakroik Korelasyon Matrisi:
print(round(tetra$rho, 3))
##        ext1   ext2  ext3   ext4   ext5   ext6  ext7   ext8   ext9  ext10  ext11
## ext1  1.000  0.299 0.168  0.095  0.003  0.158 0.338  0.261  0.115  0.242  0.315
## ext2  0.299  1.000 0.018 -0.025  0.100  0.147 0.350  0.148  0.112  0.325  0.340
## ext3  0.168  0.018 1.000  0.009  0.052  0.190 0.082  0.050  0.240  0.051  0.140
## ext4  0.095 -0.025 0.009  1.000  0.016 -0.181 0.261  0.683  0.392  0.303  0.339
## ext5  0.003  0.100 0.052  0.016  1.000  0.619 0.009 -0.075 -0.137 -0.105  0.126
## ext6  0.158  0.147 0.190 -0.181  0.619  1.000 0.091 -0.010  0.248 -0.029  0.263
## ext7  0.338  0.350 0.082  0.261  0.009  0.091 1.000  0.402  0.414  0.280  0.359
## ext8  0.261  0.148 0.050  0.683 -0.075 -0.010 0.402  1.000  0.365  0.521  0.465
## ext9  0.115  0.112 0.240  0.392 -0.137  0.248 0.414  0.365  1.000  0.302  0.773
## ext10 0.242  0.325 0.051  0.303 -0.105 -0.029 0.280  0.521  0.302  1.000  0.514
## ext11 0.315  0.340 0.140  0.339  0.126  0.263 0.359  0.465  0.773  0.514  1.000
## ext12 0.203  0.228 0.135  0.429  0.093  0.135 0.354  0.746  0.264  0.521  0.430
## int1  0.088  0.176 0.187  0.126  0.008 -0.066 0.210 -0.100  0.197  0.069  0.015
## int2  0.139 -0.034 0.204  0.015  0.053  0.173 0.231  0.001  0.180  0.043 -0.085
## int3  0.055 -0.016 0.231  0.157  0.102 -0.016 0.075 -0.085  0.232 -0.043  0.046
## int4  0.139  0.216 0.220  0.020  0.173 -0.059 0.182  0.011  0.266  0.013  0.171
## int5  0.118  0.143 0.249  0.143  0.000 -0.079 0.199 -0.067  0.226  0.005  0.058
##        ext12   int1   int2   int3   int4   int5
## ext1   0.203  0.088  0.139  0.055  0.139  0.118
## ext2   0.228  0.176 -0.034 -0.016  0.216  0.143
## ext3   0.135  0.187  0.204  0.231  0.220  0.249
## ext4   0.429  0.126  0.015  0.157  0.020  0.143
## ext5   0.093  0.008  0.053  0.102  0.173  0.000
## ext6   0.135 -0.066  0.173 -0.016 -0.059 -0.079
## ext7   0.354  0.210  0.231  0.075  0.182  0.199
## ext8   0.746 -0.100  0.001 -0.085  0.011 -0.067
## ext9   0.264  0.197  0.180  0.232  0.266  0.226
## ext10  0.521  0.069  0.043 -0.043  0.013  0.005
## ext11  0.430  0.015 -0.085  0.046  0.171  0.058
## ext12  1.000 -0.014 -0.069  0.005  0.079  0.066
## int1  -0.014  1.000  0.667  0.650  0.627  0.740
## int2  -0.069  0.667  1.000  0.579  0.637  0.615
## int3   0.005  0.650  0.579  1.000  0.569  0.785
## int4   0.079  0.627  0.637  0.569  1.000  0.629
## int5   0.066  0.740  0.615  0.785  0.629  1.000

3.1 MODEL A: TEMEL İKİ FAKTÖRLÜ MODEL

modelA <- '
  Dissal =~ ext1 + ext2 + ext3 + ext4 + ext5 + ext6 +
             ext7 + ext8 + ext9 + ext10 + ext11 + ext12
  Icsel  =~ int1 + int2 + int3 + int4 + int5
'
 
fitA <- cfa(
  model       = modelA,
  data        = mot,
  ordered     = tum_maddeler,   # tetrakroik korelasyon için
  estimator   = "WLSMV",        # kategorik veri için uygun kestirim
  parameterization = "delta"    # WLSMV için standart parametrizasyon
)
 
cat("\n--- Model A Özeti ---\n")
## 
## --- Model A Özeti ---
summary(fitA, fit.measures = TRUE, standardized = TRUE, rsquare = TRUE)
## lavaan 0.6-21 ended normally after 42 iterations
## 
##   Estimator                                       DWLS
##   Optimization method                           NLMINB
##   Number of model parameters                        35
## 
##                                                   Used       Total
##   Number of observations                           794         852
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                               492.422     464.935
##   Degrees of freedom                               118         118
##   P-value (Unknown)                                 NA       0.000
##   Scaling correction factor                                  1.136
##   Shift parameter                                           31.654
##     simple second-order correction                                
## 
## Model Test Baseline Model:
## 
##   Test statistic                              4421.778    3011.080
##   Degrees of freedom                               136         136
##   P-value                                           NA       0.000
##   Scaling correction factor                                  1.491
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.913       0.879
##   Tucker-Lewis Index (TLI)                       0.899       0.861
##                                                                   
##   Robust Comparative Fit Index (CFI)                            NA
##   Robust Tucker-Lewis Index (TLI)                               NA
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.063       0.061
##   90 Percent confidence interval - lower         0.058       0.055
##   90 Percent confidence interval - upper         0.069       0.067
##   P-value H_0: RMSEA <= 0.050                    0.000       0.001
##   P-value H_0: RMSEA >= 0.080                    0.000       0.000
##                                                                   
##   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.119       0.119
## 
## 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
##   Dissal =~                                                             
##     ext1              1.000                               0.391    0.391
##     ext2              1.018    0.173    5.881    0.000    0.398    0.398
##     ext3              0.529    0.148    3.562    0.000    0.207    0.207
##     ext4              1.494    0.263    5.684    0.000    0.585    0.585
##     ext5              0.181    0.175    1.034    0.301    0.071    0.071
##     ext6              0.419    0.173    2.425    0.015    0.164    0.164
##     ext7              1.422    0.208    6.846    0.000    0.557    0.557
##     ext8              2.045    0.274    7.470    0.000    0.801    0.801
##     ext9              1.893    0.273    6.930    0.000    0.741    0.741
##     ext10             1.577    0.229    6.899    0.000    0.617    0.617
##     ext11             2.030    0.276    7.363    0.000    0.794    0.794
##     ext12             1.835    0.250    7.330    0.000    0.718    0.718
##   Icsel =~                                                              
##     int1              1.000                               0.821    0.821
##     int2              0.924    0.066   14.092    0.000    0.758    0.758
##     int3              0.997    0.050   19.793    0.000    0.818    0.818
##     int4              0.906    0.057   15.980    0.000    0.744    0.744
##     int5              1.100    0.050   21.863    0.000    0.903    0.903
## 
## Covariances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   Dissal ~~                                                             
##     Icsel             0.047    0.017    2.744    0.006    0.148    0.148
## 
## Thresholds:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     ext1|t1           0.041    0.045    0.922    0.356    0.041    0.041
##     ext2|t1           0.584    0.047   12.327    0.000    0.584    0.584
##     ext3|t1           0.493    0.047   10.591    0.000    0.493    0.493
##     ext4|t1           1.541    0.070   21.954    0.000    1.541    1.541
##     ext5|t1          -1.128    0.056  -19.964    0.000   -1.128   -1.128
##     ext6|t1          -1.059    0.055  -19.296    0.000   -1.059   -1.059
##     ext7|t1           0.242    0.045    5.386    0.000    0.242    0.242
##     ext8|t1           1.042    0.055   19.122    0.000    1.042    1.042
##     ext9|t1           1.481    0.068   21.880    0.000    1.481    1.481
##     ext10|t1          0.622    0.048   13.016    0.000    0.622    0.622
##     ext11|t1          1.048    0.055   19.180    0.000    1.048    1.048
##     ext12|t1          0.013    0.045    0.284    0.777    0.013    0.013
##     int1|t1          -0.657    0.048  -13.632    0.000   -0.657   -0.657
##     int2|t1          -1.242    0.060  -20.865    0.000   -1.242   -1.242
##     int3|t1           0.194    0.045    4.324    0.000    0.194    0.194
##     int4|t1          -0.873    0.051  -17.028    0.000   -0.873   -0.873
##     int5|t1          -0.272    0.045   -6.022    0.000   -0.272   -0.272
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .ext1              0.847                               0.847    0.847
##    .ext2              0.841                               0.841    0.841
##    .ext3              0.957                               0.957    0.957
##    .ext4              0.658                               0.658    0.658
##    .ext5              0.995                               0.995    0.995
##    .ext6              0.973                               0.973    0.973
##    .ext7              0.690                               0.690    0.690
##    .ext8              0.359                               0.359    0.359
##    .ext9              0.451                               0.451    0.451
##    .ext10             0.619                               0.619    0.619
##    .ext11             0.369                               0.369    0.369
##    .ext12             0.484                               0.484    0.484
##    .int1              0.327                               0.327    0.327
##    .int2              0.425                               0.425    0.425
##    .int3              0.331                               0.331    0.331
##    .int4              0.447                               0.447    0.447
##    .int5              0.185                               0.185    0.185
##     Dissal            0.153    0.038    3.984    0.000    1.000    1.000
##     Icsel             0.673    0.051   13.305    0.000    1.000    1.000
## 
## R-Square:
##                    Estimate
##     ext1              0.153
##     ext2              0.159
##     ext3              0.043
##     ext4              0.342
##     ext5              0.005
##     ext6              0.027
##     ext7              0.310
##     ext8              0.641
##     ext9              0.549
##     ext10             0.381
##     ext11             0.631
##     ext12             0.516
##     int1              0.673
##     int2              0.575
##     int3              0.669
##     int4              0.553
##     int5              0.815
cat("\n--- Model A Uyum İndeksleri ---\n")
## 
## --- Model A Uyum İndeksleri ---
fitA_idx <- fitMeasures(fitA, c("chisq.scaled","df.scaled","pvalue.scaled",
                                 "cfi.scaled","tli.scaled",
                                 "rmsea.scaled","rmsea.ci.lower.scaled",
                                 "rmsea.ci.upper.scaled","srmr","wrmr"))
print(round(fitA_idx, 3))
##          chisq.scaled             df.scaled         pvalue.scaled 
##               464.935               118.000                 0.000 
##            cfi.scaled            tli.scaled          rmsea.scaled 
##                 0.879                 0.861                 0.061 
## rmsea.ci.lower.scaled rmsea.ci.upper.scaled                  srmr 
##                 0.055                 0.067                 0.119 
##                  wrmr 
##                 1.794
cat("\n--- Model A Standardize Faktör Yükleri ---\n")
## 
## --- Model A Standardize Faktör Yükleri ---
stdA <- standardizedSolution(fitA)
print(stdA[stdA$op == "=~", c("lhs","rhs","est.std","se","z","pvalue")])
##       lhs   rhs est.std    se      z pvalue
## 1  Dissal  ext1   0.391 0.049  7.968  0.000
## 2  Dissal  ext2   0.398 0.052  7.616  0.000
## 3  Dissal  ext3   0.207 0.055  3.738  0.000
## 4  Dissal  ext4   0.585 0.065  9.007  0.000
## 5  Dissal  ext5   0.071 0.068  1.039  0.299
## 6  Dissal  ext6   0.164 0.065  2.508  0.012
## 7  Dissal  ext7   0.557 0.043 12.863  0.000
## 8  Dissal  ext8   0.801 0.037 21.523  0.000
## 9  Dissal  ext9   0.741 0.057 13.014  0.000
## 10 Dissal ext10   0.617 0.042 14.576  0.000
## 11 Dissal ext11   0.794 0.038 21.173  0.000
## 12 Dissal ext12   0.718 0.039 18.373  0.000
## 13  Icsel  int1   0.821 0.031 26.610  0.000
## 14  Icsel  int2   0.758 0.046 16.384  0.000
## 15  Icsel  int3   0.818 0.029 28.047  0.000
## 16  Icsel  int4   0.744 0.038 19.357  0.000
## 17  Icsel  int5   0.903 0.023 39.293  0.000
cat("\n--- Faktörler Arası Korelasyon ---\n")
## 
## --- Faktörler Arası Korelasyon ---
print(round(lavInspect(fitA, "cor.lv"), 3))
##        Dissal Icsel
## Dissal  1.000      
## Icsel   0.148 1.000

3.2 MODİFİKASYON İNDEKSLERİ

mi_A <- modindices(fitA, sort. = TRUE, maximum.number = 20)
cat("\nEn yüksek 20 modifikasyon endeksi:\n")
## 
## En yüksek 20 modifikasyon endeksi:
print(mi_A[, c("lhs","op","rhs","mi","epc","sepc.all")])
##       lhs op   rhs      mi    epc sepc.all
## 166  ext5 ~~  ext6 134.876  0.636    0.646
## 98  Icsel =~  ext3  46.669  0.298    0.244
## 209  ext9 ~~ ext11  43.768  0.470    1.151
## 202  ext8 ~~ ext12  29.619  0.353    0.846
## 103 Icsel =~  ext8  26.606 -0.288   -0.237
## 156  ext4 ~~  ext8  22.319  0.366    0.752
## 102 Icsel =~  ext7  17.628  0.187    0.154
## 152  ext3 ~~  int5  14.509  0.219    0.519
## 210  ext9 ~~ ext12  11.933 -0.319   -0.682
## 150  ext3 ~~  int3  11.887  0.196    0.348
## 104 Icsel =~  ext9  11.789  0.233    0.191
## 108  ext1 ~~  ext2  10.023  0.185    0.220
## 154  ext4 ~~  ext6   9.081 -0.308   -0.385
## 199  ext8 ~~  ext9   9.068 -0.293   -0.729
## 201  ext8 ~~ ext11   8.808 -0.240   -0.659
## 203  ext8 ~~  int1   8.653 -0.217   -0.632
## 107 Icsel =~ ext12   8.551 -0.137   -0.112
## 242  int3 ~~  int5   8.084  0.182    0.735
## 129  ext2 ~~  ext8   7.987 -0.222   -0.404
## 125  ext2 ~~  ext4   7.955 -0.276   -0.371
cat("\n--- Hata Kovaryansları (mi > 10) ---\n")
## 
## --- Hata Kovaryansları (mi > 10) ---
mi_cov <- mi_A[mi_A$op == "~~" & mi_A$mi > 10, ]
if (nrow(mi_cov) > 0) {
  print(mi_cov[, c("lhs","op","rhs","mi","epc","sepc.all")])
} else {
  cat("mi > 10 olan hata kovaryansı bulunamadı.\n")
}
##      lhs op   rhs      mi    epc sepc.all
## 166 ext5 ~~  ext6 134.876  0.636    0.646
## 209 ext9 ~~ ext11  43.768  0.470    1.151
## 202 ext8 ~~ ext12  29.619  0.353    0.846
## 156 ext4 ~~  ext8  22.319  0.366    0.752
## 152 ext3 ~~  int5  14.509  0.219    0.519
## 210 ext9 ~~ ext12  11.933 -0.319   -0.682
## 150 ext3 ~~  int3  11.887  0.196    0.348
## 108 ext1 ~~  ext2  10.023  0.185    0.220
cat("\n--- Çapraz Yüklemeler (mi > 10) ---\n")
## 
## --- Çapraz Yüklemeler (mi > 10) ---
mi_load <- mi_A[mi_A$op == "=~" & mi_A$mi > 10, ]
if (nrow(mi_load) > 0) {
  print(mi_load[, c("lhs","op","rhs","mi","epc","sepc.all")])
} else {
  cat("mi > 10 olan çapraz yükleme bulunamadı.\n")
}
##       lhs op  rhs     mi    epc sepc.all
## 98  Icsel =~ ext3 46.669  0.298    0.244
## 103 Icsel =~ ext8 26.606 -0.288   -0.237
## 102 Icsel =~ ext7 17.628  0.187    0.154
## 104 Icsel =~ ext9 11.789  0.233    0.191
# DÜŞÜK YÜKLEYEN MADDELERİ BELİRLE ─────────────────────────────────────
cat("\n--- Standardize yükü düşük (< .30) maddeler ---\n")
## 
## --- Standardize yükü düşük (< .30) maddeler ---
dusuk <- stdA[stdA$op == "=~" & stdA$est.std < 0.30,
              c("lhs","rhs","est.std")]
if (nrow(dusuk) > 0) print(dusuk) else cat("Yok.\n")
##      lhs  rhs est.std
## 3 Dissal ext3   0.207
## 5 Dissal ext5   0.071
## 6 Dissal ext6   0.164

3.3 MODEL B: MODİFİYE EDİLMİŞ MODEL

mi_cov_sorted <- mi_A[mi_A$op == "~~" &
                         mi_A$lhs != mi_A$rhs &   # öz kovaryans değil
                         mi_A$mi > 10, ]
mi_cov_sorted <- mi_cov_sorted[order(-mi_cov_sorted$mi), ]
 
cat("\nModel B'ye eklenecek hata kovaryansları:\n")
## 
## Model B'ye eklenecek hata kovaryansları:
if (nrow(mi_cov_sorted) > 0) {
  print(head(mi_cov_sorted[, c("lhs","op","rhs","mi","epc")], 5))
} else {
  cat("Eklenecek mi > 10 hata kovaryansı yok.\n")
}
##      lhs op   rhs      mi   epc
## 166 ext5 ~~  ext6 134.876 0.636
## 209 ext9 ~~ ext11  43.768 0.470
## 202 ext8 ~~ ext12  29.619 0.353
## 156 ext4 ~~  ext8  22.319 0.366
## 152 ext3 ~~  int5  14.509 0.219
modelB_base <- '
  Dissal =~ ext1 + ext2 + ext3 + ext4 + ext5 + ext6 +
             ext7 + ext8 + ext9 + ext10 + ext11 + ext12
  Icsel  =~ int1 + int2 + int3 + int4 + int5
'
 
# MI'den gelen ilk 3 anlamlı hata kovaryansını ekle (içerik uygunsa)
ek_satirlar <- ""
if (nrow(mi_cov_sorted) > 0) {
  for (i in 1:min(3, nrow(mi_cov_sorted))) {
    ek_satirlar <- paste0(ek_satirlar,
                          "  ", mi_cov_sorted$lhs[i],
                          " ~~ ", mi_cov_sorted$rhs[i], "\n")
  }
}
 
modelB <- paste0(modelB_base, ek_satirlar)
cat("\nModel B tanımı:\n")
## 
## Model B tanımı:
cat(modelB)
## 
##   Dissal =~ ext1 + ext2 + ext3 + ext4 + ext5 + ext6 +
##              ext7 + ext8 + ext9 + ext10 + ext11 + ext12
##   Icsel  =~ int1 + int2 + int3 + int4 + int5
##   ext5 ~~ ext6
##   ext9 ~~ ext11
##   ext8 ~~ ext12
fitB <- cfa(
  model       = modelB,
  data        = mot,
  ordered     = tum_maddeler,
  estimator   = "WLSMV",
  parameterization = "delta"
)
cat("\n--- Model B Özeti ---\n")
## 
## --- Model B Özeti ---
summary(fitB, fit.measures = TRUE, standardized = TRUE, rsquare = TRUE)
## lavaan 0.6-21 ended normally after 41 iterations
## 
##   Estimator                                       DWLS
##   Optimization method                           NLMINB
##   Number of model parameters                        38
## 
##                                                   Used       Total
##   Number of observations                           794         852
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                               295.062     293.127
##   Degrees of freedom                               115         115
##   P-value (Unknown)                                 NA       0.000
##   Scaling correction factor                                  1.125
##   Shift parameter                                           30.835
##     simple second-order correction                                
## 
## Model Test Baseline Model:
## 
##   Test statistic                              4421.778    3011.080
##   Degrees of freedom                               136         136
##   P-value                                           NA       0.000
##   Scaling correction factor                                  1.491
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.958       0.938
##   Tucker-Lewis Index (TLI)                       0.950       0.927
##                                                                   
##   Robust Comparative Fit Index (CFI)                            NA
##   Robust Tucker-Lewis Index (TLI)                               NA
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.044       0.044
##   90 Percent confidence interval - lower         0.038       0.038
##   90 Percent confidence interval - upper         0.051       0.050
##   P-value H_0: RMSEA <= 0.050                    0.926       0.935
##   P-value H_0: RMSEA >= 0.080                    0.000       0.000
##                                                                   
##   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.101       0.101
## 
## 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
##   Dissal =~                                                             
##     ext1              1.000                               0.422    0.422
##     ext2              1.016    0.169    6.010    0.000    0.429    0.429
##     ext3              0.509    0.144    3.533    0.000    0.215    0.215
##     ext4              1.458    0.256    5.707    0.000    0.616    0.616
##     ext5              0.028    0.169    0.165    0.869    0.012    0.012
##     ext6              0.320    0.166    1.930    0.054    0.135    0.135
##     ext7              1.416    0.204    6.952    0.000    0.598    0.598
##     ext8              1.714    0.243    7.040    0.000    0.723    0.723
##     ext9              1.312    0.250    5.252    0.000    0.554    0.554
##     ext10             1.566    0.224    6.996    0.000    0.661    0.661
##     ext11             1.645    0.240    6.869    0.000    0.695    0.695
##     ext12             1.509    0.216    6.986    0.000    0.637    0.637
##   Icsel =~                                                              
##     int1              1.000                               0.821    0.821
##     int2              0.924    0.065   14.108    0.000    0.759    0.759
##     int3              0.995    0.050   19.790    0.000    0.817    0.817
##     int4              0.905    0.057   15.990    0.000    0.744    0.744
##     int5              1.100    0.050   21.910    0.000    0.903    0.903
## 
## Covariances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##  .ext5 ~~                                                               
##    .ext6              0.634    0.055   11.566    0.000    0.634    0.640
##  .ext9 ~~                                                               
##    .ext11             0.400    0.073    5.501    0.000    0.400    0.667
##  .ext8 ~~                                                               
##    .ext12             0.281    0.063    4.468    0.000    0.281    0.527
##   Dissal ~~                                                             
##     Icsel             0.055    0.019    2.850    0.004    0.160    0.160
## 
## Thresholds:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     ext1|t1           0.041    0.045    0.922    0.356    0.041    0.041
##     ext2|t1           0.584    0.047   12.327    0.000    0.584    0.584
##     ext3|t1           0.493    0.047   10.591    0.000    0.493    0.493
##     ext4|t1           1.541    0.070   21.954    0.000    1.541    1.541
##     ext5|t1          -1.128    0.056  -19.964    0.000   -1.128   -1.128
##     ext6|t1          -1.059    0.055  -19.296    0.000   -1.059   -1.059
##     ext7|t1           0.242    0.045    5.386    0.000    0.242    0.242
##     ext8|t1           1.042    0.055   19.122    0.000    1.042    1.042
##     ext9|t1           1.481    0.068   21.880    0.000    1.481    1.481
##     ext10|t1          0.622    0.048   13.016    0.000    0.622    0.622
##     ext11|t1          1.048    0.055   19.180    0.000    1.048    1.048
##     ext12|t1          0.013    0.045    0.284    0.777    0.013    0.013
##     int1|t1          -0.657    0.048  -13.632    0.000   -0.657   -0.657
##     int2|t1          -1.242    0.060  -20.865    0.000   -1.242   -1.242
##     int3|t1           0.194    0.045    4.324    0.000    0.194    0.194
##     int4|t1          -0.873    0.051  -17.028    0.000   -0.873   -0.873
##     int5|t1          -0.272    0.045   -6.022    0.000   -0.272   -0.272
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .ext1              0.822                               0.822    0.822
##    .ext2              0.816                               0.816    0.816
##    .ext3              0.954                               0.954    0.954
##    .ext4              0.621                               0.621    0.621
##    .ext5              1.000                               1.000    1.000
##    .ext6              0.982                               0.982    0.982
##    .ext7              0.643                               0.643    0.643
##    .ext8              0.477                               0.477    0.477
##    .ext9              0.693                               0.693    0.693
##    .ext10             0.563                               0.563    0.563
##    .ext11             0.518                               0.518    0.518
##    .ext12             0.594                               0.594    0.594
##    .int1              0.326                               0.326    0.326
##    .int2              0.425                               0.425    0.425
##    .int3              0.332                               0.332    0.332
##    .int4              0.447                               0.447    0.447
##    .int5              0.184                               0.184    0.184
##     Dissal            0.178    0.043    4.103    0.000    1.000    1.000
##     Icsel             0.674    0.051   13.329    0.000    1.000    1.000
## 
## R-Square:
##                    Estimate
##     ext1              0.178
##     ext2              0.184
##     ext3              0.046
##     ext4              0.379
##     ext5              0.000
##     ext6              0.018
##     ext7              0.357
##     ext8              0.523
##     ext9              0.307
##     ext10             0.437
##     ext11             0.482
##     ext12             0.406
##     int1              0.674
##     int2              0.575
##     int3              0.668
##     int4              0.553
##     int5              0.816
cat("\n--- Model B Uyum İndeksleri ---\n")
## 
## --- Model B Uyum İndeksleri ---
fitB_idx <- fitMeasures(fitB, c("chisq.scaled","df.scaled","pvalue.scaled",
                                 "cfi.scaled","tli.scaled",
                                 "rmsea.scaled","rmsea.ci.lower.scaled",
                                 "rmsea.ci.upper.scaled","srmr","wrmr"))
print(round(fitB_idx, 3))
##          chisq.scaled             df.scaled         pvalue.scaled 
##               293.127               115.000                 0.000 
##            cfi.scaled            tli.scaled          rmsea.scaled 
##                 0.938                 0.927                 0.044 
## rmsea.ci.lower.scaled rmsea.ci.upper.scaled                  srmr 
##                 0.038                 0.050                 0.101 
##                  wrmr 
##                 1.389
cat("\n--- Model B Standardize Faktör Yükleri ---\n")
## 
## --- Model B Standardize Faktör Yükleri ---
stdB <- standardizedSolution(fitB)
print(stdB[stdB$op == "=~", c("lhs","rhs","est.std","se","z","pvalue")])
##       lhs   rhs est.std    se      z pvalue
## 1  Dissal  ext1   0.422 0.051  8.207  0.000
## 2  Dissal  ext2   0.429 0.054  7.922  0.000
## 3  Dissal  ext3   0.215 0.058  3.712  0.000
## 4  Dissal  ext4   0.616 0.070  8.854  0.000
## 5  Dissal  ext5   0.012 0.071  0.165  0.869
## 6  Dissal  ext6   0.135 0.068  1.974  0.048
## 7  Dissal  ext7   0.598 0.046 13.127  0.000
## 8  Dissal  ext8   0.723 0.049 14.894  0.000
## 9  Dissal  ext9   0.554 0.081  6.813  0.000
## 10 Dissal ext10   0.661 0.045 14.548  0.000
## 11 Dissal ext11   0.695 0.051 13.538  0.000
## 12 Dissal ext12   0.637 0.046 13.711  0.000
## 13  Icsel  int1   0.821 0.031 26.658  0.000
## 14  Icsel  int2   0.759 0.046 16.398  0.000
## 15  Icsel  int3   0.817 0.029 27.984  0.000
## 16  Icsel  int4   0.744 0.038 19.359  0.000
## 17  Icsel  int5   0.903 0.023 39.389  0.000
tablo <- data.frame(
  Model = c("Model A (Temel)", "Model B (Modifiye)"),
  Chi2  = round(c(fitMeasures(fitA, "chisq.scaled"),
                  fitMeasures(fitB, "chisq.scaled")), 2),
  df    = c(fitMeasures(fitA, "df.scaled"),
            fitMeasures(fitB, "df.scaled")),
  p     = round(c(fitMeasures(fitA, "pvalue.scaled"),
                  fitMeasures(fitB, "pvalue.scaled")), 3),
  CFI   = round(c(fitMeasures(fitA, "cfi.scaled"),
                  fitMeasures(fitB, "cfi.scaled")), 3),
  TLI   = round(c(fitMeasures(fitA, "tli.scaled"),
                  fitMeasures(fitB, "tli.scaled")), 3),
  RMSEA = round(c(fitMeasures(fitA, "rmsea.scaled"),
                  fitMeasures(fitB, "rmsea.scaled")), 3),
  SRMR  = round(c(fitMeasures(fitA, "srmr"),
                  fitMeasures(fitB, "srmr")), 3),
  WRMR  = round(c(fitMeasures(fitA, "wrmr"),
                  fitMeasures(fitB, "wrmr")), 3)
)
cat("\n--- Karşılaştırmalı Uyum İndeksleri Tablosu ---\n")
## 
## --- Karşılaştırmalı Uyum İndeksleri Tablosu ---
print(tablo, row.names = FALSE)
##               Model   Chi2  df p   CFI   TLI RMSEA  SRMR  WRMR
##     Model A (Temel) 464.93 118 0 0.879 0.861 0.061 0.119 1.794
##  Model B (Modifiye) 293.13 115 0 0.938 0.927 0.044 0.101 1.389

3.4 PATH Diyagramları

semPaths(fitA,
         what = "std", layout = "tree2", rotation = 2,
         edge.label.cex = 0.7, node.label.cex = 0.75,
         title = TRUE, main = "Model A: Temel İki Faktörlü Model (WLSMV)")

semPaths(fitB,
         what = "std", layout = "tree2", rotation = 2,
         edge.label.cex = 0.7, node.label.cex = 0.75,
         title = TRUE, main = "Model B: Modifiye Edilmiş Model")

4 Soru 3:

aidiyet <- readRDS("aidiyet.Rds")
 
cat("=== Veri Özeti ===\n")
## === Veri Özeti ===
cat("Boyut:", dim(aidiyet), "\n")
## Boyut: 794 12
cat("Değişken isimleri:\n")
## Değişken isimleri:
print(names(aidiyet))
##  [1] "kurumsal1"   "kurumsal2"   "kurumsal3"   "kurumsal4"   "bireysel1"  
##  [6] "bireysel2"   "bireysel3"   "bireysel4"   "katilimsal1" "katilimsal2"
## [11] "katilimsal3" "katilimsal4"
cat("\nİlk 6 satır:\n")
## 
## İlk 6 satır:
print(head(aidiyet))
##   kurumsal1 kurumsal2 kurumsal3 kurumsal4 bireysel1 bireysel2 bireysel3
## 1         1         0         0         0         1         0         1
## 3         0         0         0         0         0         0         1
## 4         0         1         1         0         1         1         1
## 5         1         0         1         0         1         0         0
## 8         1         0         1         0         1         1         1
## 9         1         1         0         0         1         0         0
##   bireysel4 katilimsal1 katilimsal2 katilimsal3 katilimsal4
## 1         0           1           1           0           0
## 3         0           0           0           0           1
## 4         1           1           1           1           1
## 5         1           1           1           0           1
## 8         1           1           1           0           1
## 9         1           1           1           1           1
# Madde vektörleri
kur_mad <- paste0("kurumsal",  1:4)
kat_mad <- paste0("katilimsal", 1:4)
bir_mad <- paste0("bireysel",  1:4)  # 3 ise 1:3 yap
tum_mad <- c(kur_mad, kat_mad, bir_mad)
 
# Eksik madde kontrolü
cat("\nVeri setindeki maddeler:\n")
## 
## Veri setindeki maddeler:
print(names(aidiyet))
##  [1] "kurumsal1"   "kurumsal2"   "kurumsal3"   "kurumsal4"   "bireysel1"  
##  [6] "bireysel2"   "bireysel3"   "bireysel4"   "katilimsal1" "katilimsal2"
## [11] "katilimsal3" "katilimsal4"
eksik <- tum_mad[!tum_mad %in% names(aidiyet)]
if (length(eksik) > 0) {
  cat("EKSİK MADDELER:", eksik, "\n")
  cat("Mevcut isimler üzerinden devam edin.\n")
} else {
  cat("Tüm maddeler mevcut.\n")
}
## Tüm maddeler mevcut.
# Ordered (sıralı kategorik) tanımla — WLSMV için zorunlu
for (m in tum_mad) {
  if (m %in% names(aidiyet))
    aidiyet[[m]] <- ordered(aidiyet[[m]])
}
cat("\n=== Madde Düzeyinde P(1) Oranları ===\n")
## 
## === Madde Düzeyinde P(1) Oranları ===
item_p <- sapply(tum_mad[tum_mad %in% names(aidiyet)],
                 function(x) mean(as.numeric(as.character(aidiyet[[x]])),
                                  na.rm = TRUE))
print(round(item_p, 3))
##   kurumsal1   kurumsal2   kurumsal3   kurumsal4 katilimsal1 katilimsal2 
##       0.484       0.277       0.312       0.062       0.747       0.895 
## katilimsal3 katilimsal4   bireysel1   bireysel2   bireysel3   bireysel4 
##       0.427       0.807       0.766       0.490       0.650       0.689

4.1 MODEL 1: ÜÇ FAKTÖRLÜ BİRİNCİ DERECE MODEL

model1 <- '
  Kurumsal   =~ kurumsal1 + kurumsal2 + kurumsal3 + kurumsal4
  Katilimsal =~ katilimsal1 + katilimsal2 + katilimsal3 +
                katilimsal4
  Bireysel   =~ bireysel1 + bireysel2 + bireysel3 + bireysel4
'
 
fit1 <- cfa(
  model            = model1,
  data             = aidiyet,
  ordered          = tum_mad,
  estimator        = "WLSMV",
  parameterization = "delta"
)

cat("\n--- Model 1 Özeti ---\n")
## 
## --- Model 1 Özeti ---
summary(fit1, fit.measures = TRUE, standardized = TRUE, rsquare = TRUE)
## lavaan 0.6-21 ended normally after 43 iterations
## 
##   Estimator                                       DWLS
##   Optimization method                           NLMINB
##   Number of model parameters                        27
## 
##   Number of observations                           794
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                               161.148     189.809
##   Degrees of freedom                                51          51
##   P-value (Unknown)                                 NA       0.000
##   Scaling correction factor                                  0.882
##   Shift parameter                                            7.113
##     simple second-order correction                                
## 
## Model Test Baseline Model:
## 
##   Test statistic                              2506.101    1939.031
##   Degrees of freedom                                66          66
##   P-value                                           NA       0.000
##   Scaling correction factor                                  1.303
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.955       0.926
##   Tucker-Lewis Index (TLI)                       0.942       0.904
##                                                                   
##   Robust Comparative Fit Index (CFI)                         0.816
##   Robust Tucker-Lewis Index (TLI)                            0.762
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.052       0.059
##   90 Percent confidence interval - lower         0.043       0.050
##   90 Percent confidence interval - upper         0.061       0.068
##   P-value H_0: RMSEA <= 0.050                    0.331       0.053
##   P-value H_0: RMSEA >= 0.080                    0.000       0.000
##                                                                   
##   Robust RMSEA                                               0.126
##   90 Percent confidence interval - lower                     0.101
##   90 Percent confidence interval - upper                     0.151
##   P-value H_0: Robust RMSEA <= 0.050                         0.000
##   P-value H_0: Robust RMSEA >= 0.080                         0.999
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.088       0.088
## 
## 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
##   Kurumsal =~                                                           
##     kurumsal1         1.000                               0.361    0.361
##     kurumsal2         0.655    0.248    2.636    0.008    0.237    0.237
##     kurumsal3         1.424    0.374    3.807    0.000    0.515    0.515
##     kurumsal4         0.627    0.381    1.647    0.100    0.227    0.227
##   Katilimsal =~                                                         
##     katilimsal1       1.000                               0.833    0.833
##     katilimsal2       0.988    0.067   14.710    0.000    0.823    0.823
##     katilimsal3       0.870    0.068   12.758    0.000    0.725    0.725
##     katilimsal4       0.947    0.061   15.551    0.000    0.789    0.789
##   Bireysel =~                                                           
##     bireysel1         1.000                               0.602    0.602
##     bireysel2         0.834    0.100    8.311    0.000    0.502    0.502
##     bireysel3         1.412    0.132   10.717    0.000    0.850    0.850
##     bireysel4         1.421    0.132   10.730    0.000    0.855    0.855
## 
## Covariances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   Kurumsal ~~                                                           
##     Katilimsal        0.145    0.038    3.780    0.000    0.480    0.480
##     Bireysel          0.121    0.030    4.011    0.000    0.557    0.557
##   Katilimsal ~~                                                         
##     Bireysel          0.232    0.033    6.932    0.000    0.462    0.462
## 
## Thresholds:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     kurumsal1|t1      0.041    0.045    0.922    0.356    0.041    0.041
##     kurumsal2|t1      0.592    0.047   12.465    0.000    0.592    0.592
##     kurumsal3|t1      0.489    0.046   10.522    0.000    0.489    0.489
##     kurumsal4|t1      1.541    0.070   21.954    0.000    1.541    1.541
##     katilimsal1|t1   -0.665    0.048  -13.769    0.000   -0.665   -0.665
##     katilimsal2|t1   -1.256    0.060  -20.956    0.000   -1.256   -1.256
##     katilimsal3|t1    0.184    0.045    4.112    0.000    0.184    0.184
##     katilimsal4|t1   -0.868    0.051  -16.963    0.000   -0.868   -0.868
##     bireysel1|t1     -0.725    0.049  -14.785    0.000   -0.725   -0.725
##     bireysel2|t1      0.025    0.045    0.567    0.570    0.025    0.025
##     bireysel3|t1     -0.385    0.046   -8.419    0.000   -0.385   -0.385
##     bireysel4|t1     -0.493    0.047  -10.591    0.000   -0.493   -0.493
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .kurumsal1         0.869                               0.869    0.869
##    .kurumsal2         0.944                               0.944    0.944
##    .kurumsal3         0.735                               0.735    0.735
##    .kurumsal4         0.949                               0.949    0.949
##    .katilimsal1       0.306                               0.306    0.306
##    .katilimsal2       0.322                               0.322    0.322
##    .katilimsal3       0.475                               0.475    0.475
##    .katilimsal4       0.378                               0.378    0.378
##    .bireysel1         0.638                               0.638    0.638
##    .bireysel2         0.748                               0.748    0.748
##    .bireysel3         0.278                               0.278    0.278
##    .bireysel4         0.268                               0.268    0.268
##     Kurumsal          0.131    0.052    2.519    0.012    1.000    1.000
##     Katilimsal        0.694    0.058   11.960    0.000    1.000    1.000
##     Bireysel          0.362    0.059    6.123    0.000    1.000    1.000
## 
## R-Square:
##                    Estimate
##     kurumsal1         0.131
##     kurumsal2         0.056
##     kurumsal3         0.265
##     kurumsal4         0.051
##     katilimsal1       0.694
##     katilimsal2       0.678
##     katilimsal3       0.525
##     katilimsal4       0.622
##     bireysel1         0.362
##     bireysel2         0.252
##     bireysel3         0.722
##     bireysel4         0.732
# Uyum indeksleri
idx1 <- fitMeasures(fit1, c("chisq.scaled", "df.scaled", "pvalue.scaled",
                             "cfi.scaled",  "tli.scaled",
                             "rmsea.scaled",
                             "rmsea.ci.lower.scaled", "rmsea.ci.upper.scaled",
                             "srmr", "wrmr"))
cat("\n--- Model 1 Uyum İndeksleri ---\n")
## 
## --- Model 1 Uyum İndeksleri ---
print(round(idx1, 3))
##          chisq.scaled             df.scaled         pvalue.scaled 
##               189.809                51.000                 0.000 
##            cfi.scaled            tli.scaled          rmsea.scaled 
##                 0.926                 0.904                 0.059 
## rmsea.ci.lower.scaled rmsea.ci.upper.scaled                  srmr 
##                 0.050                 0.068                 0.088 
##                  wrmr 
##                 1.437
cat("\n--- Model 1 Standardize Faktör Yükleri ---\n")
## 
## --- Model 1 Standardize Faktör Yükleri ---
std1 <- standardizedSolution(fit1)
print(std1[std1$op == "=~", c("lhs","rhs","est.std","se","z","pvalue")])
##           lhs         rhs est.std    se      z pvalue
## 1    Kurumsal   kurumsal1   0.361 0.072  5.038  0.000
## 2    Kurumsal   kurumsal2   0.237 0.079  3.015  0.003
## 3    Kurumsal   kurumsal3   0.515 0.092  5.567  0.000
## 4    Kurumsal   kurumsal4   0.227 0.129  1.753  0.080
## 5  Katilimsal katilimsal1   0.833 0.035 23.920  0.000
## 6  Katilimsal katilimsal2   0.823 0.043 19.152  0.000
## 7  Katilimsal katilimsal3   0.725 0.044 16.518  0.000
## 8  Katilimsal katilimsal4   0.789 0.038 20.812  0.000
## 9    Bireysel   bireysel1   0.602 0.049 12.246  0.000
## 10   Bireysel   bireysel2   0.502 0.048 10.411  0.000
## 11   Bireysel   bireysel3   0.850 0.036 23.588  0.000
## 12   Bireysel   bireysel4   0.855 0.037 23.090  0.000
cat("\n--- Faktörler Arası Korelasyonlar ---\n")
## 
## --- Faktörler Arası Korelasyonlar ---
print(round(lavInspect(fit1, "cor.lv"), 3))
##            Kurmsl Ktlmsl Birysl
## Kurumsal    1.000              
## Katilimsal  0.480  1.000       
## Bireysel    0.557  0.462  1.000
# Modifikasyon endeksleri
cat("\n--- Modifikasyon Endeksleri (mi > 10) ---\n")
## 
## --- Modifikasyon Endeksleri (mi > 10) ---
mi1 <- modindices(fit1, sort. = TRUE, maximum.number = 15)
print(mi1[mi1$mi > 10, c("lhs","op","rhs","mi","epc","sepc.all")])
##             lhs op       rhs     mi    epc sepc.all
## 82   Katilimsal =~ bireysel1 67.739  0.595    0.496
## 159   bireysel3 ~~ bireysel4 55.085  0.677    2.480
## 156   bireysel1 ~~ bireysel4 29.315 -0.440   -1.063
## 155   bireysel1 ~~ bireysel3 25.829 -0.407   -0.968
## 74     Kurumsal =~ bireysel1 25.757  1.825    0.659
## 141 katilimsal2 ~~ bireysel1 21.571  0.312    0.688
## 94    kurumsal1 ~~ kurumsal2 19.012  0.271    0.299
## 154   bireysel1 ~~ bireysel2 13.966  0.230    0.333
## 84   Katilimsal =~ bireysel3 13.854 -0.340   -0.283
## 135 katilimsal1 ~~ bireysel1 10.351  0.198    0.448
# Path diyagramı
semPaths(fit1,
         what = "std", layout = "tree2", rotation = 2,
         edge.label.cex = 0.7, node.label.cex = 0.8,
         title = TRUE,
         main  = "Model 1: Üç Faktörlü Birinci Derece Model (WLSMV)")

4.2 MODEL 2: İKİNCİ DERECELİ ÜÇ FAKTÖRLÜ MODEL

model2 <- '
  # Birinci derece faktörler
  Kurumsal   =~ kurumsal1 + kurumsal2 + kurumsal3 + kurumsal4
  Katilimsal =~ katilimsal1 + katilimsal2 + katilimsal3 +
                katilimsal4
  Bireysel   =~ bireysel1 + bireysel2 + bireysel3 + bireysel4
 
  # İkinci derece genel faktör
  G_Aidiyet =~ Kurumsal + Katilimsal + Bireysel
'
 
fit2 <- cfa(
  model            = model2,
  data             = aidiyet,
  ordered          = tum_mad,
  estimator        = "WLSMV",
  parameterization = "delta"
)
cat("\n--- Model 2 Özeti ---\n")
## 
## --- Model 2 Özeti ---
summary(fit2, fit.measures = TRUE, standardized = TRUE, rsquare = TRUE)
## lavaan 0.6-21 ended normally after 59 iterations
## 
##   Estimator                                       DWLS
##   Optimization method                           NLMINB
##   Number of model parameters                        27
## 
##   Number of observations                           794
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                               161.148     189.809
##   Degrees of freedom                                51          51
##   P-value (Unknown)                                 NA       0.000
##   Scaling correction factor                                  0.882
##   Shift parameter                                            7.113
##     simple second-order correction                                
## 
## Model Test Baseline Model:
## 
##   Test statistic                              2506.101    1939.031
##   Degrees of freedom                                66          66
##   P-value                                           NA       0.000
##   Scaling correction factor                                  1.303
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.955       0.926
##   Tucker-Lewis Index (TLI)                       0.942       0.904
##                                                                   
##   Robust Comparative Fit Index (CFI)                         0.816
##   Robust Tucker-Lewis Index (TLI)                            0.762
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.052       0.059
##   90 Percent confidence interval - lower         0.043       0.050
##   90 Percent confidence interval - upper         0.061       0.068
##   P-value H_0: RMSEA <= 0.050                    0.331       0.053
##   P-value H_0: RMSEA >= 0.080                    0.000       0.000
##                                                                   
##   Robust RMSEA                                               0.126
##   90 Percent confidence interval - lower                     0.101
##   90 Percent confidence interval - upper                     0.151
##   P-value H_0: Robust RMSEA <= 0.050                         0.000
##   P-value H_0: Robust RMSEA >= 0.080                         0.999
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.088       0.088
## 
## 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
##   Kurumsal =~                                                           
##     kurumsal1         1.000                               0.361    0.361
##     kurumsal2         0.655    0.248    2.636    0.008    0.237    0.237
##     kurumsal3         1.424    0.374    3.807    0.000    0.515    0.515
##     kurumsal4         0.627    0.381    1.647    0.100    0.227    0.227
##   Katilimsal =~                                                         
##     katilimsal1       1.000                               0.833    0.833
##     katilimsal2       0.988    0.067   14.710    0.000    0.823    0.823
##     katilimsal3       0.870    0.068   12.758    0.000    0.725    0.725
##     katilimsal4       0.947    0.061   15.551    0.000    0.789    0.789
##   Bireysel =~                                                           
##     bireysel1         1.000                               0.602    0.602
##     bireysel2         0.834    0.100    8.311    0.000    0.502    0.502
##     bireysel3         1.412    0.132   10.717    0.000    0.850    0.850
##     bireysel4         1.421    0.132   10.730    0.000    0.855    0.855
##   G_Aidiyet =~                                                          
##     Kurumsal          1.000                               0.761    0.761
##     Katilimsal        1.910    0.493    3.872    0.000    0.631    0.631
##     Bireysel          1.602    0.450    3.561    0.000    0.732    0.732
## 
## Thresholds:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     kurumsal1|t1      0.041    0.045    0.922    0.356    0.041    0.041
##     kurumsal2|t1      0.592    0.047   12.465    0.000    0.592    0.592
##     kurumsal3|t1      0.489    0.046   10.522    0.000    0.489    0.489
##     kurumsal4|t1      1.541    0.070   21.954    0.000    1.541    1.541
##     katilimsal1|t1   -0.665    0.048  -13.769    0.000   -0.665   -0.665
##     katilimsal2|t1   -1.256    0.060  -20.956    0.000   -1.256   -1.256
##     katilimsal3|t1    0.184    0.045    4.112    0.000    0.184    0.184
##     katilimsal4|t1   -0.868    0.051  -16.963    0.000   -0.868   -0.868
##     bireysel1|t1     -0.725    0.049  -14.785    0.000   -0.725   -0.725
##     bireysel2|t1      0.025    0.045    0.567    0.570    0.025    0.025
##     bireysel3|t1     -0.385    0.046   -8.419    0.000   -0.385   -0.385
##     bireysel4|t1     -0.493    0.047  -10.591    0.000   -0.493   -0.493
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .kurumsal1         0.869                               0.869    0.869
##    .kurumsal2         0.944                               0.944    0.944
##    .kurumsal3         0.735                               0.735    0.735
##    .kurumsal4         0.949                               0.949    0.949
##    .katilimsal1       0.306                               0.306    0.306
##    .katilimsal2       0.322                               0.322    0.322
##    .katilimsal3       0.475                               0.475    0.475
##    .katilimsal4       0.378                               0.378    0.378
##    .bireysel1         0.638                               0.638    0.638
##    .bireysel2         0.748                               0.748    0.748
##    .bireysel3         0.278                               0.278    0.278
##    .bireysel4         0.268                               0.268    0.268
##    .Kurumsal          0.055    0.036    1.535    0.125    0.420    0.420
##    .Katilimsal        0.418    0.072    5.797    0.000    0.602    0.602
##    .Bireysel          0.168    0.051    3.312    0.001    0.464    0.464
##     G_Aidiyet         0.076    0.035    2.180    0.029    1.000    1.000
## 
## R-Square:
##                    Estimate
##     kurumsal1         0.131
##     kurumsal2         0.056
##     kurumsal3         0.265
##     kurumsal4         0.051
##     katilimsal1       0.694
##     katilimsal2       0.678
##     katilimsal3       0.525
##     katilimsal4       0.622
##     bireysel1         0.362
##     bireysel2         0.252
##     bireysel3         0.722
##     bireysel4         0.732
##     Kurumsal          0.580
##     Katilimsal        0.398
##     Bireysel          0.536
idx2 <- fitMeasures(fit2, c("chisq.scaled", "df.scaled", "pvalue.scaled",
                             "cfi.scaled",  "tli.scaled",
                             "rmsea.scaled",
                             "rmsea.ci.lower.scaled", "rmsea.ci.upper.scaled",
                             "srmr", "wrmr"))
cat("\n--- Model 2 Uyum İndeksleri ---\n")
## 
## --- Model 2 Uyum İndeksleri ---
print(round(idx2, 3))
##          chisq.scaled             df.scaled         pvalue.scaled 
##               189.809                51.000                 0.000 
##            cfi.scaled            tli.scaled          rmsea.scaled 
##                 0.926                 0.904                 0.059 
## rmsea.ci.lower.scaled rmsea.ci.upper.scaled                  srmr 
##                 0.050                 0.068                 0.088 
##                  wrmr 
##                 1.437
cat("\n--- Model 2 Standardize Faktör Yükleri (Birinci Derece) ---\n")
## 
## --- Model 2 Standardize Faktör Yükleri (Birinci Derece) ---
std2 <- standardizedSolution(fit2)
cat("\n  >> Birinci Derece Yükler:\n")
## 
##   >> Birinci Derece Yükler:
print(std2[std2$op == "=~" & std2$lhs %in% c("Kurumsal","Katilimsal","Bireysel"),
           c("lhs","rhs","est.std","se","z","pvalue")])
##           lhs         rhs est.std    se      z pvalue
## 1    Kurumsal   kurumsal1   0.361 0.072  5.038  0.000
## 2    Kurumsal   kurumsal2   0.237 0.079  3.015  0.003
## 3    Kurumsal   kurumsal3   0.515 0.092  5.567  0.000
## 4    Kurumsal   kurumsal4   0.227 0.129  1.753  0.080
## 5  Katilimsal katilimsal1   0.833 0.035 23.920  0.000
## 6  Katilimsal katilimsal2   0.823 0.043 19.152  0.000
## 7  Katilimsal katilimsal3   0.725 0.044 16.518  0.000
## 8  Katilimsal katilimsal4   0.789 0.038 20.812  0.000
## 9    Bireysel   bireysel1   0.602 0.049 12.246  0.000
## 10   Bireysel   bireysel2   0.502 0.048 10.411  0.000
## 11   Bireysel   bireysel3   0.850 0.036 23.588  0.000
## 12   Bireysel   bireysel4   0.855 0.037 23.090  0.000
cat("\n  >> İkinci Derece Yükler (G → Birinci Derece Faktörler):\n")
## 
##   >> İkinci Derece Yükler (G → Birinci Derece Faktörler):
print(std2[std2$op == "=~" & std2$lhs == "G_Aidiyet",
           c("lhs","rhs","est.std","se","z","pvalue")])
##          lhs        rhs est.std    se     z pvalue
## 13 G_Aidiyet   Kurumsal   0.761 0.122 6.215      0
## 14 G_Aidiyet Katilimsal   0.631 0.074 8.570      0
## 15 G_Aidiyet   Bireysel   0.732 0.079 9.244      0
cat("\n--- Birinci Derece Faktörlerin R² (G tarafından açıklanan varyans) ---\n")
## 
## --- Birinci Derece Faktörlerin R² (G tarafından açıklanan varyans) ---
r2_2 <- std2[std2$op == "r2" & std2$lhs %in% c("Kurumsal","Katilimsal","Bireysel"),
             c("lhs","est.std")]
if (nrow(r2_2) > 0) print(r2_2)
# M1 vs M2 ki-kare fark testi (WLSMV düzeltmeli)
cat("\n--- Model 1 vs Model 2 Ki-Kare Fark Testi (Satorra-Bentler) ---\n")
## 
## --- Model 1 vs Model 2 Ki-Kare Fark Testi (Satorra-Bentler) ---
tryCatch({
  print(lavTestLRT(fit1, fit2, method = "satorra.bentler.2010"))
}, error = function(e) {
  cat("Hata:", conditionMessage(e), "\n")
  cat("Standart LRT:\n")
  tryCatch(print(lavTestLRT(fit1, fit2)), error = function(e2) cat(conditionMessage(e2)))
})
## Hata: lavaan->lavTestLRT():  
##    method = "satorra.bentler.2010" only available when models are fitted with 
##    test = "satorra.bentler", "yuan.bentler", or "yuan.bentler.mplus". 
## Standart LRT:
## 
## Chi-Squared Difference Test
## 
##      Df AIC BIC  Chisq Chisq diff RMSEA Df diff Pr(>Chisq)
## fit1 51         161.15                                    
## fit2 51         161.15      1e-10     0       0
# Path diyagramı
semPaths(fit2,
         what = "std", layout = "tree2", rotation = 2,
         edge.label.cex = 0.65, node.label.cex = 0.75,
         title = TRUE,
         main  = "Model 2: İkinci Dereceli Üç Faktörlü Model (WLSMV)")

tablo <- data.frame(
  Model = c("M1: 3 Faktör (1. Derece)", "M2: 3 Faktör (2. Derece, G)"),
  Chi2_s = round(c(idx1["chisq.scaled"], idx2["chisq.scaled"]), 2),
  df_s   = c(idx1["df.scaled"], idx2["df.scaled"]),
  p_s    = round(c(idx1["pvalue.scaled"], idx2["pvalue.scaled"]), 3),
  CFI    = round(c(idx1["cfi.scaled"],   idx2["cfi.scaled"]),   3),
  TLI    = round(c(idx1["tli.scaled"],   idx2["tli.scaled"]),   3),
  RMSEA  = round(c(idx1["rmsea.scaled"], idx2["rmsea.scaled"]), 3),
  SRMR   = round(c(idx1["srmr"],         idx2["srmr"]),         3),
  WRMR   = round(c(idx1["wrmr"],         idx2["wrmr"]),         3),
  row.names = NULL
)
print(tablo, row.names = FALSE)
##                        Model Chi2_s df_s p_s   CFI   TLI RMSEA  SRMR  WRMR
##     M1: 3 Faktör (1. Derece) 189.81   51   0 0.926 0.904 0.059 0.088 1.437
##  M2: 3 Faktör (2. Derece, G) 189.81   51   0 0.926 0.904 0.059 0.088 1.437

5 Genel Değerlendirme ve Öğrenme Yansıması

Bu ödev kapsamında üç farklı veri seti üzerinde doğrulayıcı faktör analizinin tüm aşamaları (model tanımlama, tahmin, uyum değerlendirme, modifikasyon ve model karşılaştırma) uygulamalı olarak gerçekleştirilmiştir. Hiçbir modelin yeterli uyum sağlayamaması Müziksel faktörünün yetersiz madde sayısı ve Uzamsal–Mantıksal faktörleri arasındaki aşırı korelasyon gibi somut ölçek sorunlarına bağlanmıştır. Motivasyon ve aidiyet ölçeklerinde ise 0/1 puanlanan ikili maddeler için ML yerine WLSMV kestiriminin ve tetrakroik korelasyon matrisinin neden zorunlu olduğu kavranmış, modifikasyon endekslerinin körü körüne değil teorik gerekçeyle kullanılması gerektiği görülmüştür.

Teknik süreçte scan() ile düzensiz formatlı dosya okuma, cor2cov() namespace hatası ve bi-factor modelde ECV hesabındaki NA sorunu gibi gerçek analiz hatalarıyla karşılaşılmış ve her biri çözüme kavuşturulmuştur. Bu deneyim, DFA’nın salt istatistiksel bir işlem olmadığını, model tanımlanabilirliği ve yazılım kısıtlamalarının bir arada değerlendirilmesini gerektiren bütünleşik bir süreç olduğunu somut biçimde ortaya koymuştur.