在 R psych 中访问 cronbach's alpha 的一般置信边界
Access general confidence boundaries of cronbach's alpha in R psych
我有一个使用 psych::alpha 的数据框。在输出中,一般 cronbach 的 alpha 值周围有一般置信度边界。我想访问它们,但是当我将输出另存为变量时它们不会出现在结果中。在 documentation 中,它们被称为 itemboot.ci 但在此处的 alpha object.enter 代码中不存在
library(psych)
set.seed(1)
foo <- data.frame(X = rnorm(25), Y = rnorm(25), Z = rnorm(25))
bar <- alpha(foo)
alpha(foo)
和 bar
都给出了这个输出:
Reliability analysis
Call: alpha(x = foo)
raw_alpha std.alpha G6(smc) average_r S/N ase mean sd median_r
0.023 -0.00091 0.0049 -3e-04 -0.00091 0.32 0.12 0.54 0.022
lower alpha upper 95% confidence boundaries
-0.61 0.02 0.66
Reliability if an item is dropped:
raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
X 0.039 0.043 0.022 0.022 0.045 0.35 NA 0.022
Y 0.093 0.094 0.049 0.049 0.103 0.36 NA 0.049
Z -0.148 -0.155 -0.072 -0.072 -0.134 0.44 NA -0.072
Item statistics
n raw.r std.r r.cor r.drop mean sd
X 25 0.58 0.56 -0.12 0.0027 0.169 0.95
Y 25 0.41 0.55 -0.36 -0.0296 0.032 0.71
Z 25 0.72 0.62 0.61 0.0543 0.165 1.11
在哪里
lower alpha upper 95% confidence boundaries
-0.61 0.02 0.66
是我想要访问并保存为变量的值。
bar$itemboot.ci
即使在 documentation 中提到它,也会给出 NULL
甚至循环 a 也不会显示置信边界:
for(i in 1:length(bar)){
print(bar[i])
}
给出:
$total
raw_alpha std.alpha G6(smc) average_r S/N ase mean sd median_r
0.02297052 -0.000914273 0.004926574 -0.000304572 -0.0009134379 0.323334 0.1221019 0.544037 0.02180445
$alpha.drop
raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
X 0.03880703 0.04267832 0.02180445 0.02180445 0.04458096 0.3488970 NA 0.02180445
Y 0.09264777 0.09365915 0.04913033 0.04913033 0.10333767 0.3588215 NA 0.04913033
Z -0.14776806 -0.15482062 -0.07184849 -0.07184849 -0.13406464 0.4395377 NA -0.07184849
$item.stats
n raw.r std.r r.cor r.drop mean sd
X 25 0.5843116 0.5644059 -0.1232943 0.002682803 0.16866521 0.9501080
Y 25 0.4056801 0.5486244 -0.3639981 -0.029593160 0.03223135 0.7062806
Z 25 0.7151930 0.6184929 0.6088273 0.054340331 0.16540907 1.1051952
$response.freq
NULL
$keys
X Y Z
1 1 1
$scores
[1] -0.094825557 -0.194726192 -0.655087102 -0.004077450 0.726824345 0.839537022 0.005806616 0.027287230 0.363898646
[10] -0.605834183 1.166134789 -0.014562240 0.003061795 -0.362224119 0.381611153 -0.006888302 -0.691503524 1.035451483
[19] 0.510379244 0.692585766 0.228997248 0.145590611 0.484608087 -1.011931847 0.082433358
$nvar
[1] 3
$boot.ci
NULL
$boot
NULL
$Unidim
$Unidim$Unidim
[1] -0.0006057996
$var.r
[1] 0.004025575
$Fit
$Fit$Fit.off
[1] 0.9973251
$call
alpha(x = foo)
$title
NULL
当您通过使用 print
或将其发送到 R 控制台打印对象时,可能 会发生一些额外的处理。对象通常有自己的 print
,在这种情况下,您可以看到 print.psych
方法(在幕后调用,而不是在任何 psych 包对象上调用 print
)正在对您的对象执行以下操作属于(子)class alpha
:
}, alpha = {
cat("\nReliability analysis ", x$title, " \n")
cat("Call: ")
print(x$call)
cat("\n ")
print(x$total, digits = digits)
if (!is.null(x$total$ase)) {
cat("\n lower alpha upper 95% confidence boundaries\n")
cat(round(c(x$total$raw_alpha - 1.96 * x$total$ase,
x$total$raw_alpha, x$total$raw_alpha + 1.96 *
x$total$ase), digits = digits), "\n")
}
if (!is.null(x$boot.ci)) {
cat("\n lower median upper bootstrapped confidence intervals\n",
round(x$boot.ci, digits = digits))
}
如果您对 bar
输出变量做同样的事情;你得到这些值:
library(psych)
set.seed(1)
foo <- data.frame(bar = rnorm(25), Y = rnorm(25), Z = rnorm(25))
bar <- alpha(foo)
cat(round(c(bar$total$raw_alpha - 1.96 * bar$total$ase,
bar$total$raw_alpha, bar$total$raw_alpha + 1.96 *
bar$total$ase), digits = 2), "\n")
#> -0.61 0.02 0.66
因此,总而言之,这些值是通过“手动”计算置信区间获得的,其中系数估计 raw_alpha
加上或减去 95% CI (1.96) 乘以标准误差 (ase
).
我有一个使用 psych::alpha 的数据框。在输出中,一般 cronbach 的 alpha 值周围有一般置信度边界。我想访问它们,但是当我将输出另存为变量时它们不会出现在结果中。在 documentation 中,它们被称为 itemboot.ci 但在此处的 alpha object.enter 代码中不存在
library(psych)
set.seed(1)
foo <- data.frame(X = rnorm(25), Y = rnorm(25), Z = rnorm(25))
bar <- alpha(foo)
alpha(foo)
和 bar
都给出了这个输出:
Reliability analysis
Call: alpha(x = foo)
raw_alpha std.alpha G6(smc) average_r S/N ase mean sd median_r
0.023 -0.00091 0.0049 -3e-04 -0.00091 0.32 0.12 0.54 0.022
lower alpha upper 95% confidence boundaries
-0.61 0.02 0.66
Reliability if an item is dropped:
raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
X 0.039 0.043 0.022 0.022 0.045 0.35 NA 0.022
Y 0.093 0.094 0.049 0.049 0.103 0.36 NA 0.049
Z -0.148 -0.155 -0.072 -0.072 -0.134 0.44 NA -0.072
Item statistics
n raw.r std.r r.cor r.drop mean sd
X 25 0.58 0.56 -0.12 0.0027 0.169 0.95
Y 25 0.41 0.55 -0.36 -0.0296 0.032 0.71
Z 25 0.72 0.62 0.61 0.0543 0.165 1.11
在哪里
lower alpha upper 95% confidence boundaries
-0.61 0.02 0.66
是我想要访问并保存为变量的值。
bar$itemboot.ci
即使在 documentation 中提到它,也会给出 NULL
甚至循环 a 也不会显示置信边界:
for(i in 1:length(bar)){
print(bar[i])
}
给出:
$total
raw_alpha std.alpha G6(smc) average_r S/N ase mean sd median_r
0.02297052 -0.000914273 0.004926574 -0.000304572 -0.0009134379 0.323334 0.1221019 0.544037 0.02180445
$alpha.drop
raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
X 0.03880703 0.04267832 0.02180445 0.02180445 0.04458096 0.3488970 NA 0.02180445
Y 0.09264777 0.09365915 0.04913033 0.04913033 0.10333767 0.3588215 NA 0.04913033
Z -0.14776806 -0.15482062 -0.07184849 -0.07184849 -0.13406464 0.4395377 NA -0.07184849
$item.stats
n raw.r std.r r.cor r.drop mean sd
X 25 0.5843116 0.5644059 -0.1232943 0.002682803 0.16866521 0.9501080
Y 25 0.4056801 0.5486244 -0.3639981 -0.029593160 0.03223135 0.7062806
Z 25 0.7151930 0.6184929 0.6088273 0.054340331 0.16540907 1.1051952
$response.freq
NULL
$keys
X Y Z
1 1 1
$scores
[1] -0.094825557 -0.194726192 -0.655087102 -0.004077450 0.726824345 0.839537022 0.005806616 0.027287230 0.363898646
[10] -0.605834183 1.166134789 -0.014562240 0.003061795 -0.362224119 0.381611153 -0.006888302 -0.691503524 1.035451483
[19] 0.510379244 0.692585766 0.228997248 0.145590611 0.484608087 -1.011931847 0.082433358
$nvar
[1] 3
$boot.ci
NULL
$boot
NULL
$Unidim
$Unidim$Unidim
[1] -0.0006057996
$var.r
[1] 0.004025575
$Fit
$Fit$Fit.off
[1] 0.9973251
$call
alpha(x = foo)
$title
NULL
当您通过使用 print
或将其发送到 R 控制台打印对象时,可能 会发生一些额外的处理。对象通常有自己的 print
,在这种情况下,您可以看到 print.psych
方法(在幕后调用,而不是在任何 psych 包对象上调用 print
)正在对您的对象执行以下操作属于(子)class alpha
:
}, alpha = {
cat("\nReliability analysis ", x$title, " \n")
cat("Call: ")
print(x$call)
cat("\n ")
print(x$total, digits = digits)
if (!is.null(x$total$ase)) {
cat("\n lower alpha upper 95% confidence boundaries\n")
cat(round(c(x$total$raw_alpha - 1.96 * x$total$ase,
x$total$raw_alpha, x$total$raw_alpha + 1.96 *
x$total$ase), digits = digits), "\n")
}
if (!is.null(x$boot.ci)) {
cat("\n lower median upper bootstrapped confidence intervals\n",
round(x$boot.ci, digits = digits))
}
如果您对 bar
输出变量做同样的事情;你得到这些值:
library(psych)
set.seed(1)
foo <- data.frame(bar = rnorm(25), Y = rnorm(25), Z = rnorm(25))
bar <- alpha(foo)
cat(round(c(bar$total$raw_alpha - 1.96 * bar$total$ase,
bar$total$raw_alpha, bar$total$raw_alpha + 1.96 *
bar$total$ase), digits = 2), "\n")
#> -0.61 0.02 0.66
因此,总而言之,这些值是通过“手动”计算置信区间获得的,其中系数估计 raw_alpha
加上或减去 95% CI (1.96) 乘以标准误差 (ase
).