Rで計算.ベクトル化度数から層化(2分反転データ版)
リストデータを2分反転すると記述が簡単になるのだった.
これによって、層化する式は係数を乗じるような計算になる.
tableをベクトル化する記述
2番目の粗発生数を示すmを題材として・・
■ table記述
sum( y1[4] )
sum( re1[4] )
sum( y0[4] )
sum( re0[4] )
■ 度数のベクトル化 mの粗なtable 横に並べて表す
m4<-c(sum( y1[4] ),sum( re1[4] ),sum( y0[4] ),sum( re0[4] ) )
[1] 131 8 105 14
■ 層化
・mとpot
m を pot有り無しで分ける [4] [8]
m_p0 <-c(sum( re1[8] * y1[4] ),sum( re1[8] * re1[4] ),sum( re0[8] * y0[4] ),
+ sum( re0[8] * re0[4] ))
[1] 13 3 22 9
m_p1 <-c(sum( y1[8] * y1[4] ),sum( y1[8] * re1[4] ), sum( y0[8] * y0[4] ),
+ sum( y0[8] * re0[4] ))
[1] 118 5 83 5
式の一般型
・ i と j を数で指定する
見たい主な因子 i <- i の出方みる
層化する因子番号 j <- Jなし、ありで分ける
・ [8] で [4]
i <- 4
j<- 8
mesipn<-c(sum( re1[j] * y1[i] ),sum( re1[j] * re1[i] ),sum( re0[j] * y0[i] ),
+ sum( re0[j] * re0[i] ))
mesipn
[1] 13 3 22 9
mesipy <-c(sum( y1[j] * y1[i] ),sum( y1[j] * re1[i] ), sum( y0[j] * y0[i] ),
+ sum( y0[j] * re0[i] ))
mesipy
[1] 118 5 83 5
層化以降は、MH調整のための計算が可能