运行 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 estimation
link
推荐使用下面的代码
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
当我 运行 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 estimation
link
推荐使用下面的代码
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