COLOR(green){SIZE(20){α係数,信頼性係数の算出}} 

#contents

----

* [[クロンバックのα信頼性係数:http://aoki2.si.gunma-u.ac.jp/R/alpha.html]] [#lb3dd771]
青木先生のページ
[[解説:http://aoki2.si.gunma-u.ac.jp/lecture/misc/alpha.html]] もあり

----

* alpha() 関数 [#a3ce24c0]
** 含まれているパッケージ: psych [#qf290f8a]
** 使用例 [#e6157cc8]
 > 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() 関数 [#q34d8060]
** 含まれているパッケージ: ltm [#se424624]
** 使用例 [#ieff8373]

 > 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() 関数 [#af5b0dbc]

** 含まれているパッケージ: psy [#zb0f59b5]
** 使用例 [#m6b6bc86]
 > 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() 関数 [#l286cf92]
** 含まれているパッケージ: multilevel [#q16b24a5]
** 使用例 [#s58ee2ca]
 > library(multilevel)
 > example(cronbach)
 
 crnbch>    data(bhr2000)
 
 crnbch>    cronbach(bhr2000[,2:11])
 $Alpha
 [1] 0.8798196
 
 $N
 [1] 5400

----

* reliablity() 関数 [#cabcb21b]

** 含まれているパッケージ: Rcmdr [#dd6eb4cf]

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

 install.packages( 'Rcmdr' )

で入手できる.

** 使用方法 [#e630ec52]

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

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

*** 問題点 [#weca9616]

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

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

----

* その他 [#qec2402f]

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

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS