morの解析ブログ

解析疫学、リスクにまつわるメモや計算

「推定」のまわりをさぐる.教科書では「解析はMHにより行う、因子が多ければ重回帰を用いる」という風で詳しい例は少ない.独自(のつもり)な思いつきで具体に試行.
 数理を用いるべきアセスメントにも切り込む.

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調整のための計算が可能

×

非ログインユーザーとして返信する