メイン ppv.html   Last modified: Sep 01, 2009
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;CHARSET=EUC-JP">
<link rel="shortcut icon" href="../favicon.ico">
<title>JavaScript</title>
<script src="io.js">document.write("io.js ファイルが見つかりません??<br>")</script>
<script src="gxp.js">document.write("gxp.js ファイルが見つかりません??<br>")</script>
<script src="xxp.js">document.write("xxp.js ファイルが見つかりません??<br>")</script>

<script language="JavaScript">
<!--

function test(sw, a, b, c, d, e, f, g, h)
{
  var name = new Array("ppv", "npv")
  var title = new Array("陽性反応適中率", "陰性反応適中率")
  var mi, zbar, stat
  printf("*****  %s(%s)の差の検定  *****\n\n", title[sw], name[sw])
  if (sw == 0) {
    printf("%s1 = %g\n", name[sw], (a+b)/(a+b+e+f))
    printf("%s2 = %g\n", name[sw], (a+c)/(a+c+e+g))
  }
  else {
    printf("%s1 = %g\n", name[sw], (e+f)/(a+b+e+f))
    printf("%s2 = %g\n", name[sw], (e+g)/(a+c+e+g))
  }
  mi = 2*(a+e)+b+c+f+g
  zbar = (a+c+e+g)/mi
  dbar = (2*a+b+c)/mi
  stat = Math.pow(a*(1-2*zbar)-b*zbar+c*(1-zbar), 2) / (Math.pow(1-dbar, 2)*(a*Math.pow(1-2*zbar, 2)+b*zbar*zbar+c*Math.pow(1-zbar, 2))+dbar*dbar*(e*Math.pow(1-2*zbar, 2)+f*zbar*zbar+g*Math.pow(1-zbar, 2)))
  p = xxp(stat, 1)
  printf("T%s = %g\n", name[sw], stat)
  printf("P value = %.5f (%g)\n\n", p, p)
}

function calc(frm)
{
  var a, b, c, d
  a = parseFloat(frm.a.value)
  b = parseFloat(frm.b.value)
  c = parseFloat(frm.c.value)
  d = parseFloat(frm.d.value)
  e = parseFloat(frm.e.value)
  f = parseFloat(frm.f.value)
  g = parseFloat(frm.g.value)
  h = parseFloat(frm.h.value)
  if (isNaN(a) || isNaN(b) || isNaN(c) || isNaN(d) || isNaN(e) || isNaN(f) || isNaN(g) || isNaN(h)) {
    printf("入力が不完全か,数値でないものがあります\n")
    return
  }
  else if (a < 0 || b < 0 || c < 0 || d < 0 ||
    a != Math.floor(a) || b != Math.floor(b) || c != Math.floor(c) || d != Math.floor(d) || e != Math.floor(e) || f != Math.floor(f) || g != Math.floor(g) || h != Math.floor(h)) {
    printf("8 つの数値は,正の整数値でなくてはなりません\n")
    return
  }
  test(0, a, b, c, d, e, f, g, h)
  test(1, d, c, b, a, h, g, f, e)
  printf("--------------------\n")
}
//-->
</script>
</head>

<body bgcolor="#ffffff">
<font size="+2"><b>陽性反応適中率の差の検定</b></font> <a  href="src/ppv.html"><img src="png/src.png" width=35 height=11 alt="src" align=top></a>     Last modified: Jun 01, 2006<hr noshade><p>
<font color="#ff0000" size="+2">以下のプログラムのサポートは終了しました。自己責任でお使い下さい。</font>

<form name=Result>
<script language="JavaScript">
<!--
//-->JavaScript がサポートされていないブラウザですか?
</script>
<table>
  <tr>
    <td valign="top">
      <table border=1 cellpadding=3 bgcolor="#eecccc">
        <caption><font size="+1">疾病あり</font></caption>
        <tr>
          <td></td> <td align=center>テスト2<br>陽性</td> <td align=center>テスト2<br>陰性</td>
        </tr>
        <tr>
          <td align=center>テスト1<br>陽性</td>
          <td align=center><input name="a" value="786" size=8></td>
          <td align=center><input name="b" value="183" size=8></td>
        </tr>
        <tr>
          <td align=center>テスト1<br>陰性</td>
          <td align=center><input name="c" value="29" size=8></td>
          <td align=center><input name="d" value="25" size=8></td>
        </tr>
      </table>
    </td>
    <td>  </td>
    <td>
      <table border=1 cellpadding=3 bgcolor="#ccccee">
        <caption><font size="+1">疾病なし</font></caption>
        <tr>
          <td></td> <td align=center>テスト2<br>陽性</td> <td align=center>テスト2<br>陰性</td>
        </tr>
        <tr>
          <td align=center>テスト1<br>陽性</td>
          <td align=center><input name="e" value="69" size=8></td>
          <td align=center><input name="f" value="176" size=8></td>
        </tr>
        <tr>
          <td align=center>テスト1<br>陰性</td>
          <td align=center><input name="g" value="46" size=8></td>
          <td align=center><input name="h" value="151" size=8></td>
        </tr>
      </table>
    </td>
  </tr>
</table>

<p>
<input type="button" name="calcurate" value="計算開始" onClick="calc(this.form)">  
<input type="button" name="clear" value="入力欄クリア" onClick="this.form.a.value=this.form.b.value=this.form.c.value=this.form.d.value=this.form.e.value=this.form.f.value=this.form.g.value=this.form.h.value=''">  
<input type="button" name="clear" value="出力欄クリア" onClick="this.form.result.value=''">

<p>
出力欄<br><textarea name="result" ROWS=20 COLS=80></textarea>
</form>
<ol>
  <li> まず,「入力欄クリア」と「出力欄クリア」ボタンをクリックし,入力欄と出力欄をクリアします。
  <li> 入力欄の8つの桝目に観察数を入力します。
  <li> 「計算開始」ボタンをクリックします。
  <li> 入力欄をクリアして,別の数値を入力し計算します(出力欄はクリアしなくても,結果が追加されます。また,いつでもクリアして構いません)。
</ol>
 出力欄の内容は,コピー&ペーストできます。
<p>
 参考文献:Wendy Leisenring, Todd Alonzo and Margaret Sullivan Pepe(2000): Comparisons of Predictive Values of Binary Medical Diagnostic Tests for Paired Designs. <em>Biometrics</em>, <strong>56</strong>, pp. 345-351.<br>

<p><hr noshade>
<img src="../gra/button3.png" width=9 height=9 alt="・"> <A HREF="javascript:history.go(-1)">直前のページへ戻る</A>  <img src="../gra/button3.png" width=9 height=9 alt="・"> <a href="../mail.html">E-mail to Shigenobu AOKI</a>
<p><center><IMG SRC="../gra/ume5.png" width=121 height=37 ALT="Made with Macintosh"></center>
</body>
</html>

サブ io.js   Last modified: Mar 25, 2004
サブ gxp.js   Last modified: Mar 25, 2004
サブ xxp.js   Last modified: Mar 25, 2004

・ 直前のページへ戻る  ・ E-mail to Shigenobu AOKI

Made with Macintosh