Skip to contents

Introduction

The survivalPowerComprehensive function in ClinicoPath provides a unified interface for comprehensive power analysis and sample size calculations across multiple survival analysis methodologies. This function consolidates advanced methods from several specialized R packages including NPHMC, powerSurvEpi, survSNP, survivalpwr, and rpact.

Key Features

Method Categories

The function supports seven main categories of survival power analysis:

  1. Standard Methods: Traditional log-rank tests and Cox regression
  2. Competing Risks: Analysis with competing events
  3. Advanced Methods: RMST, non-inferiority trials, and adaptive designs
  4. Genetic Analysis: SNP-based survival studies with various inheritance models
  5. Cure Models: Mixture cure models with non-proportional hazards
  6. Sequential Analysis: Group sequential and adaptive trial designs
  7. Epidemiological Studies: Multi-covariate observational studies

Calculation Types

For each method category, you can calculate:

  • Sample Size: Given power, alpha, and effect size
  • Power: Given sample size, alpha, and effect size
  • Effect Size: Given sample size, power, and alpha

Usage Examples

Basic Log-rank Test Power Analysis

# Calculate sample size for a two-group survival study
result <- survivalPowerComprehensive(
  method_category = "standard",
  calculation_type = "sample_size",
  statistical_method = "logrank_test",
  alpha = 0.05,
  power = 0.80,
  hazard_ratio = 0.70,
  allocation_ratio = 1.0,
  event_rate = 0.60
)

Competing Risks Analysis

# Power analysis for competing risks scenario
result <- survivalPowerComprehensive(
  method_category = "competing_risks",
  calculation_type = "power",
  sample_size = 300,
  alpha = 0.05,
  competing_event_rate = 0.20,
  cumulative_incidence_control = 0.30,
  cumulative_incidence_treatment = 0.20
)

Genetic Association Studies

# Sample size for SNP-based survival analysis
result <- survivalPowerComprehensive(
  method_category = "genetic",
  calculation_type = "sample_size",
  statistical_method = "snp_additive",
  alpha = 5e-8,  # Genome-wide significance
  power = 0.80,
  snp_maf = 0.20,
  genetic_model = "additive",
  genetic_effect_size = 1.3,
  event_rate = 0.40
)

Cure Models

# Power analysis for mixture cure models
result <- survivalPowerComprehensive(
  method_category = "cure_models",
  calculation_type = "power",
  sample_size = 400,
  alpha = 0.05,
  cure_rate_control = 0.20,
  cure_rate_treatment = 0.40,
  survival_distribution = "weibull",
  accrual_distribution = "uniform"
)

Sequential Trial Design

# Group sequential design with interim analyses
result <- survivalPowerComprehensive(
  method_category = "sequential",
  calculation_type = "sample_size",
  statistical_method = "group_sequential",
  alpha = 0.05,
  power = 0.80,
  hazard_ratio = 0.75,
  number_of_looks = 3,
  spending_function = "obrien_fleming",
  interim_futility_boundary = 0.30
)

Epidemiological Studies

# Multi-covariate observational study
result <- survivalPowerComprehensive(
  method_category = "epidemiological",
  calculation_type = "sample_size",
  statistical_method = "multivariable_cox",
  alpha = 0.05,
  power = 0.80,
  hazard_ratio = 1.50,
  number_of_covariates = 5,
  covariate_correlation = 0.30,
  covariate_distribution = "mixed",
  adjust_for_confounders = TRUE
)

Parameter Guide

Core Parameters

  • method_category: Choose from standard, competing_risks, advanced, genetic, cure_models, sequential, epidemiological
  • calculation_type: sample_size, power, or effect_size
  • statistical_method: Specific method within each category
  • alpha: Type I error rate (typically 0.05)
  • power: Desired statistical power (typically 0.80 or 0.90)

Study Design Parameters

  • study_design: simple or complex
  • sample_size: Total sample size (for power/effect size calculations)
  • allocation_ratio: Ratio of control to treatment group sizes
  • event_rate: Expected proportion of events

Survival Parameters

  • hazard_ratio: Effect size for most methods
  • median_survival_control/treatment: Median survival times
  • accrual_period: Patient recruitment duration
  • follow_up_period: Additional follow-up time
  • dropout_rate: Loss to follow-up rate

Method-Specific Parameters

Genetic Analysis

  • snp_maf: Minor allele frequency
  • genetic_model: additive, dominant, or recessive
  • genetic_effect_size: Genetic relative risk

Cure Models

  • cure_rate_control/treatment: Proportion cured in each group
  • survival_distribution: Underlying survival distribution
  • accrual_distribution: Patient recruitment pattern

Sequential Designs

  • number_of_looks: Number of interim analyses
  • spending_function: Alpha spending function
  • interim_futility_boundary: Futility stopping boundary

Epidemiological Studies

  • number_of_covariates: Total covariates in model
  • covariate_correlation: Average correlation between covariates
  • interaction_effect_size: Interaction effect magnitude

Output Interpretation

Power Analysis Results

The function returns comprehensive results including:

  • Primary Calculation: Sample size, power, or effect size
  • Study Design Summary: Key parameters and assumptions
  • Method Details: Specific methodology used
  • Sensitivity Analysis: Results under different assumptions
  • Recommendations: Guidance for study planning

Additional Outputs

When enabled, the function can provide:

  • Power Curves: Visualization of power across parameter ranges
  • Sensitivity Analysis: Robustness testing
  • Method Comparison: Results from multiple approaches
  • Study Design Export: Parameters for protocol development

Advanced Features

RMST Analysis

For restricted mean survival time analysis:

result <- survivalPowerComprehensive(
  method_category = "advanced",
  statistical_method = "rmst",
  rmst_timepoint = 36,  # months
  calculation_type = "sample_size",
  alpha = 0.05,
  power = 0.80
)

Non-inferiority Trials

For non-inferiority margin testing:

result <- survivalPowerComprehensive(
  method_category = "advanced",
  statistical_method = "non_inferiority",
  non_inferiority_margin = 1.25,
  superiority_test = TRUE,
  calculation_type = "sample_size"
)

Interaction Effects

For testing gene-environment or treatment-covariate interactions:

result <- survivalPowerComprehensive(
  method_category = "epidemiological",
  statistical_method = "interaction_effects",
  interaction_effect_size = 1.8,
  number_of_covariates = 3,
  calculation_type = "power"
)

Best Practices

Study Planning

  1. Start Simple: Begin with standard methods before exploring advanced options
  2. Conservative Assumptions: Use conservative effect sizes and event rates
  3. Sensitivity Analysis: Test multiple scenarios and assumptions
  4. Expert Consultation: Validate assumptions with domain experts

Method Selection

  1. Standard Methods: For most randomized controlled trials
  2. Competing Risks: When multiple event types are relevant
  3. Genetic Methods: For genomic association studies
  4. Cure Models: When long-term cures are expected
  5. Sequential Designs: For trials with interim monitoring

Parameter Estimation

  1. Literature Review: Base assumptions on published studies
  2. Pilot Studies: Use preliminary data when available
  3. Expert Opinion: Consult clinical experts for realistic parameters
  4. Registry Data: Utilize population-based estimates

Quality Assurance

Validation Steps

The function includes built-in validation for:

  • Parameter ranges and combinations
  • Method compatibility
  • Statistical assumptions
  • Convergence criteria

Cross-validation

Results can be cross-validated using:

  • Multiple statistical methods
  • Different software implementations
  • Published power calculations
  • Simulation studies

Troubleshooting

Common Issues

  1. Convergence Problems: Try different starting values or methods
  2. Unrealistic Results: Check parameter assumptions
  3. Method Conflicts: Ensure parameter compatibility with chosen method
  4. Missing Parameters: All required parameters must be specified

Getting Help

  • Review parameter documentation
  • Check method-specific requirements
  • Consult package vignettes
  • Use simulation validation

Conclusion

The survivalPowerComprehensive function provides a unified, comprehensive platform for survival power analysis across multiple methodologies. Its modular design allows for standard calculations while supporting advanced methods for specialized research needs.

For additional examples and detailed methodology, see the ClinicoPath package documentation and the underlying specialized packages (NPHMC, powerSurvEpi, survSNP, survivalpwr, rpact).