統計ER

R, EZR, SPSS, KH Coder を使ったデータ分析方法を紹介するブログ。ニッチな内容が多め

NNH 統計計算

有害必要数(Number Needed to Harm, NNH)は、1人の有害事象が起こる人が出現するのに、何かの影響を受けた人が何人必要かという数。

 

↑1万人以上の医療従事者が購読中

 

 

NNHを計算するにはどうやるか?

使えるシチュエーションは、

  • 曝露Aを受ける人受けない人
  • 処置Bを受ける人受けない人
  • 介入Cを受ける人受けない人

などなど。

R で計算するなら、以下の自作の関数を使って計算できる。

riskdiff.confint <- function(r1,n1,r2,n2,sig.level=.05,side=2){

p1 <- r1/n1
p2 <- r2/n2
diff <- p1 - p2
se <- sqrt(p1*(1-p1)/n1 + p2*(1-p2)/n2)

LL <- diff - qnorm(sig.level/side, lower.tail=FALSE)*se
UL <- diff + qnorm(sig.level/side, lower.tail=FALSE)*se

NNH <- 1/diff
NNH.LL <- 1/UL
NNH.UL <- 1/LL

c(round(c(Prop.G1=p1,Prop.G2=p2,Difference=diff,LL.95CI=LL,UL.95CI=UL)*100,1),round(c(NNH=NNH,NNH.LL=NNH.LL,NNH.UL=NNH.UL),0))

}

 

必要な情報をインプットしたら、答えが出る。

グループ1の分母が532人、そのうちイベントが起きた、すなわち分子が11人、

グループ2の分母が933人、そのうちイベントが起きた、すなわち分子が3人

riskdiff.confint(r1=11,n1=532,r2=3,n2=933)

 

計算結果は、以下の通り。

  • Prop.G1:グループ1の発現割合
  • Prop.G2:グループ2の発現割合
  • Difference:グループ1と2の発現割合の差
  • LL.95CI:発現割合の差の95%信頼区間(CI)下限
  • UL.95CI:発現割合の差の95%CIの上限
  • NNH:有害必要数
  • NNH.LL:有害必要数の95%CIの下限
  • NNH.UL:有害必要数の95%CI上限

つまり、発現割合の差が約1.7%だと、その逆数57が、有害必要数と計算される。

> riskdiff.confint(r1=11,n1=532,r2=3,n2=933)
   Prop.G1    Prop.G2 Difference    LL.95CI    UL.95CI        NNH     NNH.LL     NNH.UL 
       2.1        0.3        1.7        0.5        3.0       57.0       33.0      207.0 
 

治療必要数 NNT との関係

治療必要数(Number Needed to Treat)と同じ計算方法。

「治療してよくなる人を見出すために何人必要か」と、「有害なイベントが起きてしまうのは何人治療したときか」は、計算としては同じこと。

 

↑1万人以上の医療従事者が購読中

 

まとめ

発現率の差の逆数がNNH。

関数を R で自作した。

参考になれば。

 

参考書籍