メイン sample-size3.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="pxg.js">document.write("pxg.js ファイルが見つかりません??<br>")</script>

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

function pxg2(x)
{

  return (x > 0.5) ? -pxg(1-x) : pxg(x)
}

function sample_size1(alpha, beta, d)
{
  var za = pxg2(alpha)
  var zb = pxg2(1-beta)
  return 2*Math.pow(za+zb, 2)/Math.pow(Math.log(d), 2)
}

function phi(al, du)
{
  return du/Math.pow(al, 3)/(du/al-1+Math.exp(-du/al))
}

function sample_size2(alpha, beta, d, duration, altim)
{
  var za = pxg2(alpha)
  var zb = pxg2(1-beta)
  return Math.pow(za+zb, 2)*(phi(altim, duration)+phi(altim*d, duration))/Math.pow(1/altim/d-1/altim, 2)
}

function phi3(al, du, mo)
{
  return 1/al/al/(1-(Math.exp(-(mo-du)/al)-Math.exp(-mo/al))*al/du)
}

function sample_size3(alpha, beta, d, duration, altim, more)
{
  var za = pxg2(alpha)
  var zb = pxg2(1-beta)
  more += duration
  return Math.pow(za+zb, 2)*(phi3(altim, duration, more)+phi3(altim*d, duration, more))/Math.pow(1/altim/d-1/altim, 2)
}

function calc2(form)
{
// ***** 生存期間の差の検定に必要な標本サイズ *****
  var alpha, beta, d, duration, altim
  if (isNaN(alpha = parseFloat(form.alpha.value)) || alpha <= 0 || alpha >= 1 ||
      isNaN(beta = parseFloat(form.beta.value)) || beta <= 0 || beta >= 1 ||
      isNaN(d = parseFloat(form.d.value)) || d == 0 ||
      isNaN(duration = parseFloat(form.duration.value)) || duration < 0 ||
      isNaN(altim = parseFloat(form.altim.value)) || altim < 0 ||
      isNaN(more = parseFloat(form.more.value)) || more < 0) {
      form.message.value = "入力値が変です"
    return
  }

  if (duration == 0 && more == 0) {
    form.n1.value = Math.ceil(sample_size1(alpha, beta, d))
    form.n2.value = Math.ceil(sample_size1(alpha/2, beta, d))
     form.message.value = "一括登録の場合について計算しました"
  }
  else if (duration != 0 && more == 0) {
    if (altim == 0) {
      form.message.value = "対照群の生存期間を入力のこと"
      return
    }
    form.n1.value = Math.ceil(sample_size2(alpha, beta, d, duration, altim))
    form.n2.value = Math.ceil(sample_size2(alpha/2, beta, d, duration, altim))
     form.message.value = "継続登録の場合について計算しました"
  }
  else if (duration != 0 && more != 0) {
    if (altim == 0) {
      form.message.value = "対照群の生存期間を入力のこと"
      return
    }
    form.n1.value = Math.ceil(sample_size3(alpha, beta, d, duration, altim, more))
    form.n2.value = Math.ceil(sample_size3(alpha/2, beta, d, duration, altim, more))
     form.message.value = "登録終了後に観察期間を設ける場合について計算しました"
  }
  else {
      form.message.value = "入力値が変です"
  }
}
//-->
</script>
</head>

<body bgcolor="#ffffff">
<font size="+2"><b>生存期間の差の検定に必要な標本サイズの決定</b></font><br> <a  href="src/sample-size3.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>
<script language="JavaScript">
<!--
//-->JavaScript がサポートされていないブラウザですか?
</script>
<hr noshade>
<form name="PowerAnalysys">
<table border=1>
<tr>
<td nowrap align=right valign=top bgcolor="#cceecc">
<table border=0>
<tr><th nowrap align=right>登録継続期間</th><td><input name="duration" value=5 size=10></td></tr>
<tr><th nowrap align=right>登録終了後観察期間</th><td><input name="more" value=1 size=10></td></tr>
<tr><th nowrap align=right>対照群の平均生存期間</th><td><input name="altim" value=3 size=10></td></tr>
<tr><th nowrap align=right>生存期間の延長倍数</th><td><input name="d" value=1.5 size=10></td></tr>
<tr><th nowrap align=right>有意水準</th><td><input name="alpha" value=0.05 size=10></td></tr>
<tr><th nowrap align=right>検出力</th><td><input name="beta" value=0.9 size=10></td></tr>
<tr><td align=right><input type="button" name="clear" value="初期化" onClick="this.form.duration.value=this.form.more.value=this.form.altim.value=this.form.d.value=this.form.alpha.value=this.form.beta.value=this.form.n1.value=this.form.n2.value=this.form.message.value=''"></td><td><input type="button" name="calcurate" value="計算開始" onClick="calc2(this.form)"></td></tr>
<tr><th nowrap align=right>片側検定標本サイズ</th><td><input name="n1" value="" size=10></td></tr>
<tr><th nowrap align=right>両側検定標本サイズ</th><td><input name="n2" value="" size=10></td></tr>
<tr><td align=right colspan=2>各群あたりの標本サイズです</td></tr>
<tr><th align=left colspan=2>メッセージ</th></tr>
<tr><td align=left colspan=2><input name="message" value="" size=40></td></tr>
</table>
</td>
</tr>
</table>
</form>
<p><hr noshade>
<img src="../gra/button3.png" width=9 height=9 alt="・"> <a href="exa/sample-size3.html">使用法</a><br>
<img src="../gra/button3.png" width=9 height=9 alt="・"> 手法の解説は,浜島信之著「<b>多変量解析による臨床研究</b>」,名古屋大学出版会,p.30〜32 を参照のこと<br>
<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>

サブ pxg.js   Last modified: Mar 25, 2004

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

Made with Macintosh