I got introduced into a project and have to do the sample size calculation and I am kinda confused.

Setting: N patients with a specific disease X (and N*constant healthy controls) should be recruited and specific value will be measured, lets call this value MTV. X has different subgroup of disease-groups. So every patient who has X is in minimum one (but can be in more than one) subgroup of this disease, X1, X2, X3, X4, X5. So for example one patient can have X and X is expressed as having X1 and X3. Another patient has disease X, but in expression as only having X4. One could think of symptoms in this setting, which would yield to a similar idea.

1. goal: hypothesis: “MTV is increased in patients with X.”
2. goal: hypothesis: “MTV is increased in patients with expressions X1, X2, X3, X4 in comparison to patients with X5.” (X1 vs X5, X2 vs X5, X3 vs X5 and X4 vs X5).
3. goal: “increased MTV is associated with higher event rates in patients with X.”

For the 1. goal my idea is simple: I need power = 0.8, sign. level =0.05 and both expected means with standard deviations and I can simply use G*Power to calculate the sample size. Lets make an example: mean(MTV|X) = 50, std(MTV|X)=10, mean(MTV|noX)=40, std(MTV|noX)=8 then I get an effect size d of: 1,38675 and can calculate the total sample size of 16 (8vs.8)

For the 2. goal, I am kinda stuck cause of different reasons:

I only found expected MTV means for subgroups X1,X2 and X5, but not for X3 and X4 (We expect, that the values are in a similar range as the ones in X1 and X2). I think the best design would be a 1:1:1:1:1 target allocation (with randomization one could fit a small margin for bias prevention here). But this doesnt fit to goal 1 or can I just assume it like the estimated 16 patients is minimum size for the recruitment? I would analyze this in a multivariable model, with influence factor “subgrouptype”. But how can I calculate sample sizes for a GLM-type model? I am currently in a very hard discussion with my mentor, that it could be better to use the continuous values which describe X1,…,X5. And then build a model like MTV = baseline + acontX1 + bcontX2 + ccontX3 + dcontX4 + e*subgrouptype + error, but the problem remains, I dont know how to estimate sample size for such a model.

For the 3. goal, I dont know any kind of tools or starting points, as I never saw any sample-size calculation for survival-analysis studies. I would appreciate every hint regarding this.

To be clear, 1. and 2. are the main goals. And if I see it correct, 1. is powered, if 2. is powered, so I have to look, how to power the 2. goal question.

Thanks in advance for every hint!

  • 2
    $\begingroup$ Do you have results from previous studies that support your large differences in means between the subgroups and small standard deviations? Groups of 8 (or 16) are tiny for anything other than a very preliminary type of clinical study. $\endgroup$ Feb 3 at 20:21
  • $\begingroup$ Yes, I have previous data, but only for X1, X2 and X5 as well as X as whole. The small std are from previous small studies $\endgroup$
    – Julia Rose
    Feb 8 at 14:25

1 Answer 1


Quite a few question here, I'll provide some thoughts.

Powering for overall vs. subgroups

Unless the operating characteristics line up through (very unlikely) chance, you'll have to choose between optimally powering for the overall population or a subgroup comparison - also because the latter is by definition a subset of the former. There's two main approaches here:

  1. Power for the overall population, and only look for consistency in the subgroups without expecting statistical significance. This is very common in clinical studies, where you can then claim benefit for the whole population with reasonable evidence that this isn't driven disproportionately by a subgroup if they all show at least some effect (i.e. difference is in the same direction everywhere).
  2. Power for the smallest acceptable subgroup effect, which will likely make your overall comparison (and subgroups with larger samples/bigger effects) be massively overpowered. Much less common because increasing sample size usually isn't free, but your only real option if you want firm statistical conclusions for your subgroup hypotheses.

Something to keep in mind either way is that you probably still want the composition of subgroups to reflect the overall population unless you think ahead very carefully about what you're doing. Consider two subgroups that occur 50/50, but the effect in one of them is much smaller than the other. To get power for that low-effect subgroup you might include many more of those subjects in your experiment than from the other group. The problem then becomes that your pooled 'overall' estimate no longer reflects the overall population. You could for example differentially weigh subgroups in the main analysis, but the cleanest option is to keep your sampling proportions in line with the population.

You mentioned that you don't have literature-based assumptions for all of these subgroups, that means you'll have to fall back to an educated guess (them being similar isn't unreasonable) and/or assume some kind of minimal meaningful difference: what is the effect that you wouldn't want to miss? At the end of the day this will always be probabilistic & with trade-offs against real-world limitations (time, cost), so it really comes down to what kind of risks you're willing to accept vs. how much you can invest to mitigate them.

Actual power calculation & analysis

It'll almost certainly be most efficient to do your subgroup analysis with all data in the model, and include an interaction between subgroup and relevant effects (e.g. treatment, time). You can then draw inference from individual contrasts in that model, optionally including a multiple comparisons correction if you feel there's a need.

Determining the power for such setup isn't always straightforward - G*Power and several other packages will let you choose between a pairwise (t) test and a groupwise (F/ANOVA) test, optionally with interaction, but tend to be quite rigid in what you can specify regarding effect sizes and covariates. Exactly which of these you need also depends on the hypothesis (or hypotheses) you want to test: whether all subgroup means are the same, or whether each pairwise difference is zero?

The most accurate & flexible way would be to simulate your hypotheses and analyses. Failing that, a simple and conservative estimate might be to base calculations off a pairwise test for your smallest desired subgroup effect; if you power for that you'll almost certainly end up with at least as much power in a more efficient model. This may well turn out to be very conservative if your effect sizes, number of subgroups, or subgroup sizes aren't similar and/or small however.

Survival power

Unique for survival or time-to-event analyses is that all else being equal the power in most common settings (proportional hazards leading to a log-rank test or Cox model) depends only on the number of observed events and their balance across groups. The latter will determine the hazard ratio, which is your effect size in such analyses.

The most simple calculations or calculators such as this one take just your desired error rates & assumed hazard ratio to produce a number of required events. It takes some additional assumptions on actual event/censoring rates and accrual to determine how many subjects you actually need in your study to get to that number of observed events within a given time frame - another option is to start your study with about as many subjects as you need events & just wait till they all had the event (please don't actually do this).

There's plenty of tools and tutorials out there for many different softwares (e.g. R, Stata, SAS), although as above it quickly becomes worth it to run your own simulations once you go outside the standard two groups/no confounders setting.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.