α係数,信頼性係数の算出


クロンバックのα信頼性係数

青木先生のページ 解説 もあり


alpha() 関数

含まれているパッケージ: psych

使用例

> library(psych)
> example(alpha)

alpha> r4 <- sim.congeneric()

alpha> alpha(r4)

Reliability analysis   
Call: alpha(x = r4)

  raw_alpha std.alpha G6(smc) average_r
      0.74      0.74    0.69      0.42

 Reliability if an item is dropped:
   raw_alpha std.alpha G6(smc) average_r
V1      0.62      0.62    0.53      0.36
V2      0.66      0.66    0.57      0.39
V3      0.70      0.70    0.62      0.44
V4      0.74      0.74    0.66      0.49

 Item statistics 
      r r.cor
V1 0.81  0.74
V2 0.78  0.67
V3 0.73  0.59
V4 0.68  0.50

alpha> r9 <- sim.hierarchical()

alpha> alpha(r9)

Reliability analysis   
Call: alpha(x = r9)

  raw_alpha std.alpha G6(smc) average_r
      0.76      0.76    0.76      0.26

 Reliability if an item is dropped:
   raw_alpha std.alpha G6(smc) average_r
V1      0.71      0.71    0.70      0.24
V2      0.72      0.72    0.71      0.25
V3      0.74      0.74    0.73      0.26
V4      0.73      0.73    0.72      0.25
V5      0.74      0.74    0.73      0.26
V6      0.75      0.75    0.74      0.27
V7      0.75      0.75    0.74      0.27
V8      0.76      0.76    0.75      0.28
V9      0.77      0.77    0.76      0.29

 Item statistics 
      r r.cor
V1 0.72  0.71
V2 0.67  0.63
V3 0.61  0.55
V4 0.65  0.59
V5 0.59  0.52
V6 0.53  0.43
V7 0.56  0.46
V8 0.50  0.39
V9 0.45  0.32

alpha> #an example of two independent factors that produce reasonable alphas
alpha> #this is a case where alpha is a poor indicator of unidimensionality
alpha> two.f <- sim.item(8)

alpha> alpha(two.f,keys=c(rep(1,4),rep(-1,4))) 

Reliability analysis   
Call: alpha(x = two.f, keys = c(rep(1, 4), rep(-1, 4)))

  raw_alpha std.alpha G6(smc) average_r  mean  sd
      0.59      0.59    0.63      0.15 0.011 0.3

 Reliability if an item is dropped:
   raw_alpha std.alpha G6(smc) average_r
V1      0.54      0.54    0.57      0.14
V2      0.55      0.55    0.58      0.15
V3      0.57      0.57    0.60      0.16
V4      0.55      0.55    0.59      0.15
V5      0.57      0.57    0.61      0.16
V6      0.55      0.55    0.59      0.15
V7      0.56      0.56    0.60      0.15
V8      0.54      0.54    0.58      0.14

 Item statistics 
     n    r r.cor r.drop    mean   sd
V1 500 0.55  0.47   0.34  0.0717 1.07
V2 500 0.52  0.42   0.30  0.0423 1.01
V3 500 0.47  0.35   0.25 -0.0055 0.98
V4 500 0.52  0.42   0.30  0.0556 0.97
V5 500 0.46  0.33   0.24 -0.0433 1.00
V6 500 0.50  0.40   0.29  0.0100 0.99
V7 500 0.49  0.37   0.26 -0.0203 0.98
V8 500 0.55  0.46   0.33 -0.0186 1.05

alpha> #an example with discrete item responses  -- show the frequencies
alpha> items <- sim.congeneric(N=500,short=FALSE,low=-2,high=2,categorical=TRUE) #500 responses to 4 discrete items

alpha> a4 <- alpha(items$observed)  #item response analysis of congeneric measures

alpha> a4

Reliability analysis   
Call: alpha(x = items$observed)

  raw_alpha std.alpha G6(smc) average_r   mean   sd
       0.7       0.7    0.66      0.37 0.0045 0.74

 Reliability if an item is dropped:
   raw_alpha std.alpha G6(smc) average_r
V1      0.55      0.55    0.46      0.29
V2      0.62      0.62    0.55      0.36
V3      0.65      0.65    0.57      0.38
V4      0.71      0.72    0.63      0.46

 Item statistics 
     n    r r.cor r.drop   mean   sd
V1 500 0.81  0.74   0.62  0.004 0.99
V2 500 0.74  0.61   0.51  0.000 1.01
V3 500 0.71  0.57   0.47  0.062 1.07
V4 500 0.64  0.43   0.36 -0.048 0.98

Non missing response frequency for each item
     -2   -1    0    1    2 miss
V1 0.05 0.27 0.35 0.27 0.06    0
V2 0.06 0.25 0.37 0.25 0.07    0
V3 0.06 0.25 0.34 0.25 0.10    0
V4 0.07 0.24 0.42 0.22 0.05    0

alpha> #summary just gives Alpha
alpha> summary(a4)

Reliability analysis   
 raw_alpha std.alpha G6(smc) average_r   mean   sd
       0.7       0.7    0.66      0.37 0.0045 0.74

cronbach.alpha() 関数

含まれているパッケージ: ltm

使用例

> library(ltm)
> example(cronbach.alpha)

crnbc.> # Cronbach's alpha for the LSAT data-set
crnbc.> # with a Bootstrap 95% CI
crnbc.> cronbach.alpha(LSAT, CI = TRUE, B = 500)

Cronbach's alpha for the 'LSAT' data-set

Items: 5
Sample units: 1000
alpha: 0.295

Bootstrap 95% CI based on 500 samples
 2.5% 97.5% 
0.210 0.356 

cronbach() 関数

含まれているパッケージ: psy

使用例

> library(psy)
> example(cronbach)

crnbch> data(expsy)

crnbch> cronbach(expsy[,1:10])  ## not good because item 2 is reversed (1 is high and 4 is low)
$sample.size
[1] 27

$number.of.items
[1] 10

$alpha
[1] 0.1762655


crnbch> cronbach(cbind(expsy[,c(1,3:10)],-1*expsy[,2]))  ## better
$sample.size
[1] 27

$number.of.items
[1] 10

$alpha
[1] 0.3752657


crnbch> datafile <- cbind(expsy[,c(1,3:10)],-1*expsy[,2])

crnbch> library(boot)

Attaching package: 'boot'

The following object(s) are masked _by_ '.GlobalEnv':

    simplex


crnbch> cronbach.boot <- function(data,x) {cronbach(data[x,])[[3]]}

crnbch> res <- boot(datafile,cronbach.boot,1000)

crnbch> quantile(res$t,c(0.025,0.975))  ## two-sided bootstrapped confidence interval of Cronbach's alpha
      2.5%      97.5% 
-0.2710921  0.6082468 

crnbch> boot.ci(res,type="bca")         ## adjusted bootstrap percentile (BCa) confidence interval (better)
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 1000 bootstrap replicates

CALL : 
boot.ci(boot.out = res, type = "bca")

Intervals : 
Level       BCa          
95%   (-0.1680,  0.6404 )  
Calculations and Intervals on Original Scale

cronbach() 関数

含まれているパッケージ: multilevel

使用例

> library(multilevel)
> example(cronbach)

crnbch>    data(bhr2000)

crnbch>    cronbach(bhr2000[,2:11])
$Alpha
[1] 0.8798196

$N
[1] 5400

reliablity() 関数

含まれているパッケージ: Rcmdr

CRAN のパッケージ置場にあるので

install.packages( 'Rcmdr' )

で入手できる.

使用方法

reliability 関数を用いて Cronbach's alpha を求められる.

> scale01 <- as.data.frame( cbind( Q1, Q2, Q3, Q4, Q5 ) )
> reliability( cov( scale01 ) )

問題点

reliability 関数の含まれる Rcmdr パッケージは R Commander とよばれるウィンドウを開いて操作するので,library() 関数や require() 関数で呼び出すとウィンドウが開いてしまう.単に reliability() を使いたいだけである場合非常に欝陶しい.

対策:R Commander を終了させ,save(reliability, file="reliability.R") とでもして保存し,次回以降は使いたいときに load("reliability.R") とすればよいでしょう。(←Rcmdr::reliability(x)でよいのでは?)


その他

http://home.earthlink.net/~bmagill/MyMisc.html 個人の作成した関数集に含まれているが,出力はあまり丁寧ではない.


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-03-25 (土) 11:19:16