1. Home
  2. XOPOWER procedure

XOPOWER procedure

Estimates the power of contrasts in cross-over designs (P.W. Lane & B. Jones).


PRINT = string tokens What reports to produce (summary, contrasts, nonequality, equivalence, noninferiority, superiority); default summ, none
NPERIODS = scalar Number of periods in the design; default 2
NREPEATS = scalar Number of repeats of supplied sequences, or variate or a series of numbers to get power for multiples of a design; default 1
CARRYOVER = string token Whether to include the carry-over term (yes, no); default no
CONTRASTTYPE = string token Type of treatment contrasts if POLYNOMIAL and OWN parameters are unset (pairwise, control); default pair
ALPHALEVEL = scalar Significance level at which to test each contrast, adjusted if necessary for multiplicity; default 0.05
DELTA = scalar Tolerance for equivalence & non-inferiority tests; default 0.2231 i.e. log(1.25)
VARWITHIN = scalar Variance of response within subjects; default 1
VARBETWEEN = scalar Variance of response between subjects; default 1
NSIMULATIONS = scalar Number of simulations; default 1000
SEED = scalar Seed for random-number generator; default 0 i.e. continue from previous or use system clock
MONITOR = string token What summary of power values to report every 50 simulations for each report chosen in PRINT option (minimum, mean, median, maximum); default * i.e. no monitoring


SEQUENCES = texts, variates or factors Sequence of levels of a single treatment factor; no default
POLYNOMIAL = scalars Order of polynomials to represent the treatment factor; default * i.e. represent effects according to OWN parameter or CONTRASTTYPE option
OWN = matrices Specific contrasts for the treatment factor; default * i.e. represent effects according to POLYNOMIAL parameter or CONTRASTTYPE option
MEANS = variates Pattern of means for each treatment level for which to establish power; default * i.e. all zero
NONEQUALITY = symmetric matrices or matrices Structure to save calculated power values for nonequality; default *
EQUIVALENCE = symmetric matrices or matrices Structure to save calculated power values for equivalence; default *
NONINFERIORITY = symmetric matrices or matrices Structure to save calculated power values for noninferiority; default *
SUPERIORITY = symmetric matrices or matrices Structure to save calculated power values for superiority; default *


XOPOWER estimates by simulation the power of four types of statistical test commonly carried out on the results of cross-over trials. The most familiar is the test of non-equality; that is, testing whether there is evidence that two treatments are different. This is done by comparing against zero an estimate of a contrast between the levels of the treatment factor: the contrast here is simply the effect of one level minus the effect of the other, with no contribution from any other levels.

To establish the power of such a test you need to:

●     set the NPERIODS option to the number of periods;

●     set the VARWITHIN option to the within-subject variance;

●     if the design is unbalanced, set the VARBETWEEN option to the between-subject variance;

●     set the SEQUENCES parameter to the treatment factor defining the sequence of treatments received by each subject in turn (see below);

●     set the NREPEATS option to the number of times the sequences are repeated on each subject if this is greater than one;

●     set the MEANS parameter to the pattern of treatment means for which the power is to be estimated.

The procedure estimates the power of several contrasts of the treatment effects: by default, for each pairwise difference of treatment levels. Alternatively, the CONTRASTTYPE option can be set to control to request the power of the differences of each level with the reference level of the treatment factor. (The reference level is the first level by default, but other levels can be selected by using the REFERENCELEVEL option of the FACTOR directive.) Another possibility is to set the POLYNOMIAL parameter to the order of polynomial effects to be estimated for the treatment levels; orthogonal polynomials will be used, based on the marginal replication of the treatment levels. Finally, the OWN parameter can be set to a matrix that specifies comparisons between the treatment levels: the matrix must have one column for each treatment level and one row for each desired contrast. If either of POLYNOMIAL or OWN is set, the CONTRASTTYPE option is ignored.

The other three types of test are referred to as equivalence, non-inferiority and superiority. Equivalence requires the confidence limits for a contrast to lie within pre-assigned limits around zero; the limit is set with option DELTA, for which the default is 0.2231, corresponding to the natural logarithm of 1.25, a limit often used in analysis of log-Normal data from pharmacokinetic studies. Non-inferiority is a one-sided version of this, requiring the lower limit of the contrast to be greater than delta. The term superiority is sometimes used to refer to the test of non-equality (since interest lies only in establishing superiority of one treatment over another, though regulations insist on a two-sided test). However, here superiority is taken to require that the lower confidence limit of the contrast is greater than zero. The superiority test is therefore a one-sided version of the non-equality test. These three types of test are most likely to require pairwise or control contrasts; polynomial contrasts are probably not relevant, but own contrasts can be specified if required.

The SEQUENCES parameter should be set to a factor indicating the treatment level to be applied at each period for each patient: the ordering must be such that the sequence of levels for the first patient come first, then the sequence for the second patient, and so on. The NPERIODS option must be set to specify the number of periods. If preferred, the sequences can be input just as a text or variate structure containing the textual or numeric codes of the treatment, leaving the procedure to form the factor internally. If a series of sequences of factor levels is to be repeated entirely in the design, this can be specified by setting the NREPEATS option rather than having to supply the series in full. Furthermore, you can supply a series of numbers for the NREPEATS option, to investigate the power of a series of multiples of a design.

XOPOWER can deal with only one treatment factor (though see below for carry-over). If a cross-over study has a more complex design, it may be possible to handle it by combining the treatment combinations into a single factor, and using the OWN parameter to specify the required constrasts (such as main effects and interactions).

The PRINT option controls which reports are displayed. The default settings, summary and nonequality, provide a summary of the design with a record of the option settings, and a report of the power for non-equality tests of each

contrast. You can also set contrasts to request a reminder of what contrasts have been specified. You can set any combination of nonequality, equivalence, noninferiority and superiority to have reports for these tests simultaneously; but these will all use the same settings of the MEANS parameter, so in practice it is unlikely that all four settings would be sensible.

By default, carry-over effects are ignored. However, if you set option CARRYOVER=yes, first-order carry-over effects are included in the model, and the power for the treatment contrasts will be adjusted accordingly. (The default setting is omit.) XOPOWER does not estimate the power for the carry-over effects themselves.

For a test of non-equality or superiority, the MEANS parameter should be set to a pattern of means for each level of the treatment factor. The location of these means does not affect power in the linear model assumed here, so for a two-level factor you can specify either two non-zero values representing the actual means, or a zero and a value representing the difference. In a clinical trial, this difference is usually referred to as the clinically important difference. Equivalence and non-inferiority tests are usually carried out under the assumption of equal effect, so the MEANS parameter can be left at its default setting (all zero). But power is sometimes calculated under the assumption of a small difference (compared to delta).

The ALPHALEVEL option allows you to set the Type I error for the tests that are being simulated. With a test of non-equality, this is the error for a two-sided test, but with superiority or non-inferiority it is one-sided. With an equivalence test, the error is that used in each of the two one-sided tests used to establish equivalence.

The VARWITHIN option must be set to an estimate of the within-subject variance expected in the trial. This is a critical part of any exercise evaluating power or calculating sample size before starting a study, and is often the most difficult unless good information is available on variability from previous trials. If the design is balanced in the sense that the treatment effect is orthogonal to the subject effect (as when each treatment is given once to each subject), then the within-subject variance is the only estimate of variance required. But if the design is unbalanced, you also need to provide an estimate of the between-subject variability, using the VARBETWEEN option.

You can control and monitor the simulation process to a limited extent. The NSIMULATIONS option sets the number of simulations to be carried out for each number of repeats specified by the NREPEATS option. The default is 1000, but experience shows that 500 simulations are usually adequate. The SEED option sets a seed for the random number generator used in the simulation, allowing you to ensure repeatability of results if you need this for documentation. The option MONITOR produces a display of progress every 50 simulations, to help you see when enough simulations have been carried out. You can set this to request the display to show the minimum, mean, median or maximum of the contrasts that are being calculated according. This display will show progress only for those tests whose display is requested by the PRINT option.

The NONEQUALITY, EQUIVALENCE, NONINFERIORITY and SUPERIORITY parameters allow the estimates of power to be saved in suitable structures. For pairwise contrasts, a symmetric matrix is used; for control, polynomial or own contrasts, a one-column matrix is used.

Warning: the procedure can generate warning messages when running the simulation, as a result of problems within the REML process of fitting a model to the simulated data. If there are few messages, the estimated powers should hardly be affected; but if there are many, this is an indication that the specified design is not reliably analysed using the REML command.




An internal factor is set up to represent the treatment sequences, and taking account of requested repeats. For each iteration in a loop, a response is generated using the supplied setting of the MEANS parameter and including random Normal values to represent within- and between-subject variation. A mixed-effects model is fitted using REML including the following fixed effects:

●     period,

●     treatment,

●     carry-over, if requested.

The random effect of Subjects is included, where the division of units between subjects is as implied by the setting of the SEQUENCES parameter and the PERIOD option.

If the NREPEATS option has more than one setting, the whole process is repeated in an outer loop, but ensuring that as much work as possible is done in the outer loop rather than in the inner loop over the simulations.

The results of each REML fit are extracted within the inner loop, and the results corresponding to each type of test (whether or not display or saving has been requested) are acumulated.

Action with RESTRICT

No structures should be restricted.

See also


Commands for: Design of experiments.


CAPTION 'XOPOWER example',!t(\
 '(1) Design with eight patients, four periods, five treatments;',\
 'treatment input as text codes; no carry-over effects;',\
 'simulate for non-equality test, with difference of 2 between level',\
 'A and B-E; display differences between each level and reference (A).');\
  !t(A,E,B,D, B,A,C,E, D,C,E,B, E,D,A,C, C,D,B,E, D,E,C,A, E,A,D,B, A,B,E,D);\

 '(2) Same design with treatment input as a factor, & sequences duplicated;',\
 'tests of non-inferiority and superiority; larger difference for D & E',\
 'compared to B & C; delta value of 2 for the non-inferiority tests;',\
 'all differences reported; monitoring of the mean value;',
 '500 simulations.')
FACTOR [LABELS=!t(A,B,C,D,E)] seq; VALUES=!t(A,E,B,D, B,A,C,E, D,C,E,B,\
  E,D,A,C, C,D,B,E, D,E,C,A, E,A,D,B, A,B,E,D)
XOPOWER [PRINT=noninferiority,superiority; NPERIODS=4; VARWITHIN=5.5;\
  seq; MEANS=!(0,2,2,4,4)

 '(3) Same design with treatment input as a factor with ordinal levels,',\
 'and sequences repeated three or four times;',\
 'equivalence reported between each level and the reference level (A),',\
 'using delta=2; effect of carry-over included;',\
 'own contrasts specified; 250 simulations with monitoring.')
FACTOR [LEVEL=5; VALUES=1,5,2,4, 2,1,3,5, 4,3,5,2, 5,4,1,3,\
  3,4,2,5, 4,5,3,1, 5,1,4,2, 1,2,5,4] seq
MATRIX [ROWS=4; COLUMNS=5; VALUES=-1,1,0,0,0, -1,0,1,0,0,\
  -1,0,0,1,0, -1,0,0,0,1] con
XOPOWER [PRINT=summary,contrasts,equivalence; NPERIODS=4; NREPEATS=!(3,4);\
  NSIMULATIONS=250; MONITOR=mean] seq; OWN=con
Updated on June 14, 2019

Was this article helpful?