运行 Omega 和 R 中的 Psych 库

Running Omega with Psych library in R

当我 运行 alpha 在构造上有五个项目时,我得到以下结果,没有任何错误

 psych::alpha(construct,
         na.rm = TRUE,
         title = 'myscale', 
         n.iter = 1000)

Reliability analysis  myscale  
Call: psych::alpha(x = construct, title = "myscale", na.rm = TRUE, 
n.iter = 1000)

  raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd
  0.81      0.81    0.78      0.46 4.3 0.013  2.6 0.89

 lower alpha upper     95% confidence boundaries
0.78 0.81 0.84 

 lower median upper bootstrapped confidence intervals
 0.77 0.81 0.84

我一直在看论文From Alpha to omega: A practical solution to the pervasive problem of internal consistency estimationlink

推荐使用下面的代码

MBESS::ci.reliability(construct, interval.type="bca", B=1000, type = "omega") 

$est
[1] 0.8107376

$se
[1] 0.01651936

$ci.lower
[1] 0.7764029

$ci.upper
[1] 0.839944

$conf.level
[1] 0.95

$type
[1] "omega"

$interval.type
[1] "bca bootstrap"

我一直在尝试 运行 使用 psych 包在我的样本集上进行 omega 以保持分析中的一致性

psych::omega(m = construct, 
      nfactors = 1, fm = "pa", n.iter = 1000, p = 0.05, 
      title = "Omega", plot = FALSE, n.obs = 506)

我收到两条错误消息

In factor.scores, the correlation matrix is singular, an approximation is used Omega_h for 1 factor is not meaningful, just omega_t

出现此警告是因为 Omega_h 的列数少了两列。之前关于 SO 的问题在某种程度上回答了这个问题

我遇到的错误如下

Error in fac(r = r, nfactors = nfactors, n.obs = n.obs, rotate = rotate, : I am sorry: missing values (NAs) in the correlation matrix do not allow me to continue. Please drop those variables and try again. In addition: There were 50 or more warnings (use warnings() to see the first 50)

没有缺失值,所以我不确定第二个错误

我构造的细节是

    Q1                  Q2          Q3    
 Min.   :0.000   Min.   :0.000   Min.   :0.000  
 1st Qu.:2.000   1st Qu.:2.000   1st Qu.:2.000  
 Median :3.000   Median :2.000   Median :3.000  
 Mean   :2.597   Mean   :2.393   Mean   :3.227  
 3rd Qu.:3.000   3rd Qu.:3.000   3rd Qu.:4.000  
 Max.   :6.000   Max.   :6.000   Max.   :6.000  

Q4              Q5   
 Min.   :0.00   Min.   :0.000  
 1st Qu.:1.00   1st Qu.:2.000  
 Median :2.00   Median :2.000  
 Mean   :2.17   Mean   :2.445  
 3rd Qu.:3.00   3rd Qu.:3.000  
 Max.   :6.00   Max.   :6.000  

编辑

创建了具有相同属性的数据 - 100 个条目(Alpha 大约为 0.56)但它在 omega 上产生了相同的错误

structure(list(Q1 = c(4, 5, 3, 5, 4, 5, 3, 5, 5, 5, 6, 
3, 5, 4, 6, 5, 5, 6, 7, 4, 5, 5, 3, 4, 4, 5, 4, 3, 5, 4, 5, 5, 
6, 6, 3, 6, 3, 4, 4, 4, 6, 5, 3, 2, 6, 6, 4, 5, 4, 3, 6, 4, 4, 
5, 6, 2, 4, 3, 4, 6, 4, 6, 4, 5, 5, 6, 4, 6, 5, 5, 4, 5, 6, 6, 
2, 5, 4, 3, 4, 4, 4, 6, 3, 3, 5, 4, 4, 4, 5, 5, 5, 3, 6, 6, 6, 
6, 5, 4, 3, 5), Q2 = c(7, 4, 4, 4, 4, 6, 6, 6, 7, 6, 5, 
6, 5, 4, 5, 6, 6, 6, 7, 5, 4, 4, 6, 6, 4, 4, 6, 2, 6, 5, 4, 6, 
4, 6, 6, 6, 5, 4, 4, 4, 4, 3, 3, 4, 4, 4, 4, 6, 2, 6, 6, 5, 4, 
6, 6, 4, 4, 7, 6, 5, 5, 5, 5, 6, 5, 5, 4, 5, 5, 5, 4, 6, 7, 5, 
5, 5, 6, 5, 6, 5, 6, 7, 2, 6, 5, 7, 3, 5, 5, 3, 3, 3, 7, 4, 5, 
6, 6, 6, 5, 7), Q3 = c(5, 4, 5, 6, 4, 4, 5, 4, 2, 6, 5, 
5, 5, 5, 7, 5, 5, 6, 7, 6, 3, 6, 6, 6, 5, 6, 6, 5, 5, 4, 5, 5, 
6, 6, 5, 6, 5, 5, 4, 4, 6, 4, 4, 4, 4, 4, 4, 5, 5, 4, 5, 5, 4, 
3, 5, 4, 5, 6, 6, 6, 4, 5, 5, 5, 6, 4, 5, 5, 7, 4, 5, 6, 6, 5, 
5, 3, 3, 5, 4, 6, 5, 5, 1, 3, 5, 3, 2, 5, 4, 6, 6, 6, 6, 4, 6, 
3, 6, 6, 6, 5), Q4 = c(6, 6, 4, 7, 4, 6, 7, 6, 7, 6, 6, 
6, 5, 7, 7, 6, 6, 5, 7, 7, 6, 6, 7, 7, 6, 6, 6, 5, 6, 7, 5, 6, 
7, 5, 4, 6, 4, 3, 6, 4, 6, 6, 6, 3, 5, 7, 5, 6, 4, 6, 7, 6, 7, 
4, 6, 3, 5, 7, 5, 4, 6, 6, 4, 6, 5, 5, 5, 5, 7, 7, 7, 6, 6, 6, 
5, 6, 6, 4, 5, 7, 6, 7, 3, 5, 6, 5, 6, 5, 5, 7, 7, 6, 6, 2, 7, 
6, 6, 7, 7, 5)), .Names = c("Q1", "Q2", "Q3", 
"Q4"), row.names = c(NA, 100L), class = "data.frame")

谁能看到我摔倒的地方?

感谢您的宝贵时间

所以我尝试了这个:

psych::omega(m = construct)

它使用了这个结果:

Omega 
Call: psych::omega(m = construct)
Alpha:                 0.56 
G.6:                   0.49 
Omega Hierarchical:    0.53 
Omega H asymptotic:    0.89 
Omega Total            0.6 

Schmid Leiman Factor loadings greater than  0.2 
     g   F1*   F2*   F3*   h2   u2   p2
Q1 0.41  0.30             0.26 0.74 0.65
Q2 0.37  0.25             0.20 0.80 0.67
Q3 0.50        0.25       0.31 0.69 0.80
Q4 0.64              0.23 0.46 0.54 0.89

With eigenvalues of:
    g  F1*  F2*  F3* 
 0.95 0.15 0.06 0.05 

 general/max  6.35   max/min =   2.83
mean percent general =  0.75    with sd =  0.11 and cv of  0.15 
Explained Common Variance of the general factor =  0.78 

The degrees of freedom are -3  and the fit is  0 
The number of observations was  100  with Chi Square =  0  with prob <  NA
The root mean square of the residuals is  0 
The df corrected root mean square of the residuals is  NA

Compare this with the adequacy of just a general factor and no group factors
The degrees of freedom for just the general factor are 2  and the fit is  0.01 
The number of observations was  100  with Chi Square =  0.62  with prob <  0.73
The root mean square of the residuals is  0.03 
The df corrected root mean square of the residuals is  0.05 

RMSEA index =  0  and the 90 % confidence intervals are  NA 0.14
BIC =  -8.59 

Measures of factor score adequacy             
                                                 g   F1*   F2*   F3*
Correlation of scores with factors            0.75  0.37  0.27  0.24
Multiple R square of scores with factors      0.57  0.14  0.07  0.06
Minimum correlation of factor score estimates 0.14 -0.72 -0.86 -0.88

 Total, General and Subset omega for each subset
                                                 g  F1*  F2*  F3*
Omega total for total scores and subscales    0.60 0.37 0.31 0.46
Omega general for total scores and subscales  0.53 0.25 0.25 0.41
Omega group for total scores and subscales    0.06 0.12 0.06 0.05

我检查了默认值和 nfactors = 3 以及 n.iter = 1。然后我慢慢增加n.iter,减少n.factor,一直工作到n.iter =7,nfactors保持为3

psych::omega(m = construct, n.iter = 7, p = 0.05, nfactors = 3)

有了你的完整数据集,你应该能够得到更高的 n.iter