DATA Step, Macro, Functions and more

Sample size determination for multiple proportions

Frequent Contributor
Posts: 76

Sample size determination for multiple proportions

[ Edited ]

Aim: To determine the required sample size (per group) to determine effect of an intervention given at time A, B and C on the proportion of people that "convert" compared to baseline.


Question: which SAS procedure allows for the calculation of required sample size to compare multiple proportions (here there are four groups (three interventions: control/A control/B and control/C)?

.. it seems that SAS PROC POWER only allows sample size determination for comparing two proportions


As an aside, once the "experiment" is finished I plan to:

* Use PROC FREQ CHISQ option.
* If significant, then use PROC MULTTEST to determine which intervention differs from baseline.

(Please comment if this would be incorrect ...).  The support page Performing multiple comparisons or tests on subtables following a significant Pearson chi-square suggests that multiplicity-adjusted Fisher or Cochran-Armitage tests can be used, but also provides an example of using the Bonferonni adjustment.


Update  Whilst I am interested in the response and correct method on doing this, I realised that for this application there isn't a need to be so statistically correct.  What I plan to do is just determine the sample size required to compare two proportions... and then use this sample size for each of the interventions.

e.g. : 

proc power; 
  twosamplefreq test=fisher 
  groupproportions = (.1  .15) 
  power = .8
  npergroup = . 
  sides = U;

which would mean I need 576 people in each of the four groups... and if no intervention has an effect, I have a 15% chance of saying one does... (which I can live with) when comparing the three pairwise tests (control/A control/B and control/C).


Another option I can think of is to calculate the required sample size at an alpha of 0.05/3 = 0.0167 (approx Bonferonni correction) then test for significance using chi-squared and then use 

proc multtest pdata=chisq bon;




Ask a Question
Discussion stats
  • 0 replies
  • 1 in conversation