読者です 読者をやめる 読者になる 読者になる

草薙の研究ログ

英語教育関係。でも最近は統計(特にR)ネタが中心。

Cliff's deltaや共通言語効果量(common language effect size)などを計算するRパッケージ:"orddom"

r 統計

これはすごい便利。エンドユーザー向けでだれでも使えそう。

orddomというの。ordinal dominance statisticsの略かな。

共通言語効果量とか,Cliff's deltaとか一気に出してくれる。

対比較とかこれで結構いける的な。

 

  • Rogmann, J. J. (2013). Ordinal Dominance Statistics (orddom): An R Project for Statistical Computing package to compute ordinal, nonparametric alternatives to mean comparison (Version 3.1). Available online from the CRAN website http://cran.r-project.org/.

http://cran.r-project.org/web/packages/orddom/orddom.pdf

 

2変数だけ入れてやればいろいろ計算してくれる。

たとえば,対応がない場合には,

  1. 2変数の全ケースの組み合わせのうち,変数xがyを優越する回数
  2. 2変数の全ケースの組み合わせのうち,変数yがxを優越する回数
  3. 総当りによる変数xについての共通言語効果量(優越率,probability of dominance, probability of superiority)
  4. 総当りにによる変数yについての共通言語効果
  5. 変数xについてのパラメトリックな共通言語効果量(等分散,正規分布仮定)
  6. 変数yについてのパラメトリックな共通言語効果量
  7. 変数xについてのVargha and Delaney's A
  8. 変数yについてのVargha and Delaney's A
  9. 変数xについてのCliffの⊿
  10. 変数yについてのCliffの⊿
  11. ⊿の95%CI
  12. 変数xについてのCohen's d
  13. 変数yについてのCohen's d

などなど他にもたくさん。

使い方は,基本的には,

 

x<-t(matrix(rnorm(100,1,1),1))

colnames(x)<-c("control")
y<-t(matrix(rnorm(100,0,1),1))
colnames(y)<-c("experiment")
orddom(x,y)

 

これでいい。対応があるときは,

orddom(x,y, paired=T) 

という感じ。

 

こんな感じで一気に全部出してくるからけっこうビビる。

 

f:id:kusanagik:20150705154637p:plain

 

あと,delta_gr関数がすごい便利wwww

(ってか挙動がRユーザー向きじゃないっていうか,設計思想がなんかもうRじゃないっていうか…なんていうか…)

 

 

たとえば,

delta_gr(x,y)

ってだけで,

f:id:kusanagik:20150705155740p:plain

これ出してくれる。(・∀・)イイネ!!

delta_gr(x,y)

 

これだけ。

 

 

っていうか,Cliff's deltaは順位符号和検定の検定統計量と完全に線形な関係があって,

 

delta = 2*U/m*n-1

 

なんだ。Uを件の検定統計量,mとnは標本サイズ。超簡単。

なので,

CliffDelta<-function(x,y){

U<-as.numeric(wilcox.test(x,y)[1])

delta<-2*U/length(x)/length(y)-1

delta

}

 みたいな関数作って,

CliffDelta(x,y)

とでも,やればいいだけなんだけどな。

もちろん,数値は一致する。

ただ,タイがあるときはどうなんだったけな…?

 

まあいいや。