morの解析ブログ

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

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

Rで計算 総当たりMHORと cOR比

・因子の効果を概観したい、疑わしい因子の効果を確認したくて、表計算で総当たり調整値をみた.そのR版.
・繰り返しを入れ子にした記述でMH指標を計算.
・層化は一階;一回.
・粗指標と比較するMHOR/cORを試す.


■ 総当たりMHOR
MH<-NULL
mh<-NULL
mh2<-NULL
for (x in 1:8) {
for (y in 1:8) {
 a1 <- sum( y1[x] * y1[y] )  # xあり
 b1 <- sum( y1[x] * re1[y] )
 c1 <- sum( y0[x] * y0[y] )  
 d1 <- sum( y0[x] * re0[y] )
  a0 <- sum( re1[x] * y1[y] ) # xなし
  b0 <- sum( re1[x] * re1[y] )
  c0 <- sum( re0[x] * y0[y] )  
  d0 <- sum( re0[x] * re0[y] )
# MHOR 式 ; xありなしによる、yの MHOR;;
n1 <-a1+b1+c1+d1
      n0 <-a0+b0+c0+d0 
 mh= (a1*d1/n1 + a0*d0/n0)/(b1*c1/n1+b0*c0/n0)
 # mh2<-c(mh2,mh)
 # print( mh2 ) 
MH<-rbind(mh2)
}
 }


 結果は、一行なので8×8に配置する記述;末尾記1) によって次の表を得る.


             → で調整した、 ↓の因子効果
         
* 因子データは 、yも含んだままなので計算不能もそのまま.
* 層化に使う因子 xの、 1から計算を始める.yの1から8までひととおり計算する.そして2も同様に.つまり表の縦方向に値が決まっていく記述となる.よって、横軸の因子で調整したORが縦に並ぶ.


【列因子の影響をとりさると、行因子はどうなるかを示す】


 大きくなれば、カラム因子が抑制性、小さくなれば生起性、阻止性をもつのだろう.
 tではいずれでも強い効果があり、行ごとにみれば、t:「全因子に対して強い生起性」がわかる.
 粗ORに比べ、列sでは値が大きい.ついでにcORに対する比をとってみる.
■ MHOR/cOR
MHORをcORで割り、配置する記述
 
ratiomh1  <- mht[1 ,] / crudeor[1   ]
ratiomh2  <- mht[2,] / crudeor[2]
ratiomh3  <- mht[ 3,] / crudeor[3   ]
ratiomh4  <- mht[4 ,] / crudeor[4   ]
ratiomh5 <- mht[ 5,] / crudeor[5   ]
ratiomh6  <- mht[ 6,] / crudeor[6   ]
ratiomh7  <- mht[ 7,] / crudeor[7   ]
ratiomh8  <-  mht[ 8,] / crudeor[8   ]
 rator<- rbind(ratiomh1,ratiomh2,ratiomh3,ratiomh4,ratiomh5,ratiomh6,ratiomh7,,ratiomh8)
 行列名をつける
 colnames(mhtr)<-menu
 rownames(mhtr)<-t(menu)


          MHOR/cOR 比


 横に見ると、tは、sで調整して最も値を上げる.相対的な上がり下がりがみえる.


1)
 ■ 総当たりMHOR 8×8 配置する記述
mh<- MH
mh1<-NULL
mh2<-NULL
mh3<-NULL
mg4<-NULL
mg5<-NULL
mg6<-NULL
mg7<-NULL
mg8<-NULL


#for (i in 1:8)
#{


mh1<-c(mh[1:8])
mh2<-c(mh[9:16])
mh3 <-c(mh[17:24 ])
mh4 <-c(mh[25:32 ])
mh5 <-c(mh[33:40 ])
mh6 <-c(mh[41:48 ])
mh7 <-c(mh[49:56 ])
mh8 <-c(mh[57:64 ])
# }


mht<-NULL
mht<-cbind(mh1,mh2,mh3,mh4,mh5,mh6,mh7,mh8)
  行列名をつける

×

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