このページは、因果推論のための無作為化臨床試験(RCT)や、予測ツールの構築または検証のためのコホートなど、いくつかの研究に必要な患者の数の計算に専念しています。 Rコードが提案されています。ここをクリックして、関連するユーザーフレンドリーな計算機にアクセスできます。いくつかのリマインダー:
優位性RCT:実験的治療が標準療法よりも効果的であることを実証するために使用します。
非劣性RCT:実験的治療が標準療法と同じくらい効果的であることを実証するために使用します。
順次RCT:研究を早期に停止するための中間分析。
1:1のランダム化比を持つ2つの並列グループを持つ次のRCTを検討してください。予想される平均は、実験群の患者の66ユニットと対照群の72単位です。標準偏差が23、双方向Iのエラー率が5%、80%のパワーで、このような6単位の差を示すために、アームあたりの最小サンプルサイズは231(つまり、合計462人の患者)に等しい。
library( epiR )
epi.sscompc( treat = 66 , control = 72 , sigma = 23 , n = NA , power = 0.8 ,
r = 1 , sided.test = 2 , conf.level = 1 - 0.05 )
# > $n.total
# > [1] 462
# > $n.treat
# > [1] 231
# > $n.control
# > [1] 231
# > $power
# > [1] 0.8
# > $delta
# > [1] 6入力パラメーター:
1:1のランダム化比と2つの計画された中間分析を持つ2つの並列グループを持つ次のRCTを考えてみましょう。O'Brien-flemingメソッドを使用して、タイプIエラー率のインフレを検討してください)。予想される平均は、実験群の患者の66ユニットと対照群の72単位です。標準偏差が23、双方向I型エラー率が5%、80%のパワーがあるこのような6単位の差を示すために、472人の患者(グループあたり236人の患者)に対して最終分析を実施する必要があります。第1および第2の中間分析は、それぞれ158人と316人の患者に対して実行されます。つまり、研究を停止する決定がない場合は、含まれる患者の最大患者の33%と66%が実行されます。
library( " rpact " )
design <- getDesignGroupSequential(
typeOfDesign = " OF " , informationRates = c( 1 / 3 , 2 / 3 , 1 ),
alpha = 0.05 , beta = 1 - 0.8 , sided = 2 )
designPlan <- getSampleSizeMeans( design , alternative = 6 , stDev = 23 ,
allocationRatioPlanned = 1 )
summary( designPlan )
# > Stage 1 2 3
# > Planned information rate 33.3% 66.7% 100%
# > Cumulative alpha spent 0.0005 0.0143 0.0500
# > Stage levels (two-sided) 0.0005 0.0141 0.0451
# > Efficacy boundary (z-value scale) 3.471 2.454 2.004
# > Lower efficacy boundary (t) -13.012 -6.405 -4.258
# > Upper efficacy boundary (t) 13.012 6.405 4.258
# > Cumulative power 0.0329 0.4424 0.8000
# > Number of subjects 157.1 314.2 471.3
# > Expected number of subjects under H1 396.7
# > Exit probability for efficacy (under H0) 0.0005 0.0138
# > Exit probability for efficacy (under H1) 0.0329 0.4095 入力パラメーター:
1:1のランダム化比を持つ2つの並列グループを持つ次のRCTを検討してください。予想される平均は、対照群の患者の66単位であり、実験群と比較して差はありません。 7ポイントの絶対非劣性マージン、23の標準偏差、アームあたりの最小サンプルサイズは134(つまり、合計268人の患者)に等しいと仮定して、5%の片側タイプIエラー率と80%のパワーを達成します
library( epiR )
epi.ssninfc( treat = 66 , control = 66 , sd = 23 , delta = 7 ,
power = 0.8 , alpha = 0.05 , r = 1 , n = NA )
# > $n.total
# > [1] 268
# > $n.treat
# > [1] 134
# > $n.control
# > [1] 134
# > $delta
# > [1] 7
# > $power
# > [1] 0.8入力パラメーター:
1:1のランダム化比を持つ2つの並列グループを持つ次のRCTを検討してください。予想されるイベントの割合は、コントロールアームの28%と比較して、実験アームで35%です。このような差は7%の差を示すために、両面I型エラー率は5%、パワーは80%であることを示すために、アームあたりの最小サンプルサイズは691(つまり、合計1382人の患者)に等しくなります。
library( epiR )
epi.sscohortc( irexp1 = 0.35 , irexp0 = 0.28 , power = 0.80 , r = 1 ,
sided.test = 2 , conf.level = 1 - 0.05 )
# > $n.total
# > [1] 1382
# > $n.exp1
# > [1] 691
# > $n.exp0
# > [1] 691
# > $power
# > [1] 0.8
# > $irr
# > [1] 1.25
# > $or
# > [1] 1.384615入力パラメーター:
タイプIエラー率のインフレを考慮するためにO'Brien-flemingメソッドを使用して、1:1のランダム化比と2つの計画的な中間分析を持つ2つの並列グループと2つの計画中間分析を持つ次のRCTを考慮してください。イベントの予想される割合は、実験群の患者で11%であり、対照群の15%ユニットです。 5%の両側タイプIエラー率と80%のパワーを持つこのような4%の差を示すために、2,256人の患者(グループあたり1,128人の患者)に対して最終分析を実施する必要があります。第1および2番目の中間分析は、それぞれ752人と1,504人の患者、つまり研究を停止する決定がない場合は、含まれる患者の最大数の33%と66%で実行されます。
library( " rpact " )
design <- getDesignGroupSequential( typeOfDesign = " OF " ,
informationRates = c( 1 / 3 , 2 / 3 , 1 ), alpha = 0.05 ,
beta = 1 - 0.8 , sided = 2 )
designPlan <- getSampleSizeRates( design , pi1 = 0.11 , pi2 = 0.15 ,
allocationRatioPlanned = 1 )
summary( designPlan )
# > Stage 1 2 3
# > Planned information rate 33.3% 66.7% 100%
# > Cumulative alpha spent 0.0005 0.0143 0.0500
# > Stage levels (two-sided) 0.0005 0.0141 0.0451
# > Efficacy boundary (z-value scale) 3.471 2.454 2.004
# > Lower efficacy boundary (t) -0.079 -0.042 -0.029
# > Upper efficacy boundary (t) 0.101 0.048 0.031
# > Cumulative power 0.0329 0.4424 0.8000
# > Number of subjects 751.8 1503.7 2255.5
# > Expected number of subjects under H1 1898.1
# > Exit probability for efficacy (under H0) 0.0005 0.0138
# > Exit probability for efficacy (under H1) 0.0329 0.4095 入力パラメーター:
1:1のランダム化比を持つ2つの並列グループを持つ次のRCTを検討してください。イベントの予想率は、対照群の患者で35%であり、実験群と比較して差はありません。絶対的な非劣性マージン5%を想定すると、アームあたりの最小サンプルサイズは1,126(つまり、合計2,252人の患者)に等しく、5%の片面I誤差率と80%のパワーを達成します。
epi.ssninfb( treat = 0.35 , control = 0.35 , delta = 0.05 ,
n = NA , r = 1 , power = 0.8 , alpha = 0.05 )
# > $n.total
# > [1] 2252
# > $n.treat
# > [1] 1126
# > $n.control
# > [1] 1126
# > $delta
# > [1] 0.05
# > $power
# > [1] 0.8パラメーター:
少なくとも0.25の予想R2と0.9の予想される収縮を持つ候補として34の予測因子に基づいたモデル/アルゴリズムを開発するために(Riley etal。StatisticsinMedicine。2019; 38:1276–1296)、最小限のサンプルサイズは1045です。
34 / (( 0.9 - 1 ) * log( 1 - 0.25 / 0.9 ))
# > [1] 1044.796観測されたイベントの数と予想されるイベントの数の比率をO/Eと考えてください。この比率の(1-α)%信頼区間の長さとして定義される精度を達成するために、予想される割合が50%の場合、必要なサンプルサイズは386です(Riley et al。バイナリ結果を伴う臨床予測モデルの外部検証の最小サンプルサイズ。
se <- function ( width , alpha ) # The standard error associated with the 1-alpha confidence interval
{
fun <- function ( x ) { exp( qnorm( 1 - alpha / 2 , mean = 0 , sd = 1 ) * x ) - exp( - 1 * qnorm( 1 - alpha / 2 , mean = 0 , sd = 1 ) * x ) - width }
return (uniroot( fun , lower = 0.001 , upper = 100 ) $ root )
}
size.calib <- function ( p , width , alpha ) # the minimum sample size to achieve this precision
{
( 1 - p ) / (( p * se( width = width , alpha = alpha ) ** 2 ))
}
size.calib( p = 0.5 , width = 0.2 , alpha = 0.05 )
# > [1] 385.4265入力パラメーター: