Produces Bland-Altman plots to assess the agreement between two variates (A.R.G. McLachlan).

### Options

`PRINT` = string tokens |
Controls printed output (`summary` , `estimates` ); default `*` i.e. none |
---|---|

`PLOT` = string tokens |
What to plot (`blandaltman` , `normal` ); default `blan` |

`DMETHOD` = string token |
Method for calculating differences (`differences` , `ratios` , `%differences` , `percentages` ); default `diff` |

`LMETHOD` = string token |
Method for calculating limits of agreement when regression is not used (`normaldistribution` , `percentile` ); default `norm` |

`REGMETHOD` = string tokens |
Whether to use regression to calculate bias (i.e. mean) or limits (`bias` , `mean` , `limits` , `auto` ); default `*` i.e. none |

`CIPROBABILITY` = scalar |
Probability level for limits of agreement, confidence intervals and percentiles; default 0.95 |

`LOWERLIMIT` = scalar |
Lower limit of agreement to use instead of a calculated limit |

`UPPERLIMIT` = scalar |
Upper limit of agreement to use instead of a calculated limit |

`ALPHALEVEL` = scalar |
Critical probability level used for regression when `REGMETHOD=auto` ; default 0.05 |

`XBLANDALTMAN` = string token |
X-values to use for the Bland-Altman plot (`mean` , `Y1` , `Y2` ); default `mean` |

`REFERENCELINECHOICE` = string tokens |
Reference lines to plot on a Bland-Altman plot (`bias` , `mean` , `limits` , `zero` ); default `bias` |

`GRAPHICS` = string token |
Type of graph (`highresolution` , `lineprinter` ); default `high` |

`WINDOW` = scalar |
Window for the plot; default 3 |

`SCREEN` = string token |
Whether to clear or keep the screen before displaying the plot (`keep` , `clear` ); default `clea` |

`PENZEROLINE` = scalar |
Pen to use for the zero reference line |

`PENMEANLINE` = scalar |
Pen to use for the mean reference line |

`PENLIMITLINES` = scalar |
Pen to use for the reference lines showing limits of agreement |

### Parameters

`Y1` = variates |
First variate |
---|---|

`Y2` = variates |
Second variate |

`LABELS` = texts |
Labels for individual points on the Bland-Altman plot |

`MEANS` = variates |
Saves the means |

`DIFFERENCES` = variates |
Saves the differences, ratios or % differences (according to the `DMETHOD` option) |

`TITLE` = texts |
Title for the Bland-Altman plot |

`YTITLE` = texts |
Title for y-axis of the Bland-Altman plot |

`XTITLE` = texts |
Title for x-axis of the Bland-Altman plot |

`PEN` = scalars, variates or factors |
Pen for plotting points on the Bland-Altman plot; default 1 |

### Description

Bland-Altman plots provide an effective way of assessing two different methods for measuring some quantity (Bland & Altman 1999; see also Altman & Bland 1983 and Bland & Altman 1986). The data are supplied by the `Y1`

and `Y2`

parameters, in two variates containing measurements on the same set of samples. The default display plots the differences between the measurements against their mean, so that the sizes of the discrepancies can be assessed while also seeing whether there is any bias or nonlinearity between the methods. Ideally, the points should lie within a rectangle arranged symmetrically around the x-axis i.e. similar amounts of scatter above and below the line of zero difference. The means and differences can be saved, in variates, using the `MEANS`

and `DIFFERENCES`

parameters, respectively.

The `DMETHOD`

option controls the type of difference that is displayed, with settings:

`differences` |
differences `Y1` `-` `Y2` (default), |
---|---|

`ratios` |
`Y1` `/` `Y2` , |

`%differences` |
`(Y1` `-` `Y2)` `/` `((Y1` `+` `Y2)/2)` `*` `100` , and |

`percentages` |
synonym of `%differences` . |

The plot can also show “limits of agreement” which are intended to represent boundaries on the acceptable difference between the methods. These can be supplied by the `LOWERLIMIT`

and `UPPERLIMIT`

options, Alternatively, if `LOWERLIMIT`

and `UPPERLIMIT`

are not set, the limits are calculated by the procedure according to the setting of the `LMETHOD`

option:

`normaldistribution` |
uses confidence limits calculated assuming that the differences have a Normal distribution (default), and |
---|---|

`percentile` |
takes percentiles of the differences. |

The `CIPROBABILITY`

option specifies the probability for calculating the limits of agreement when `LMETHOD=norm`

, or the percentiles used for the limits when `LMETHOD=perc`

. The default of 0.95 gives 95% limits of agreement, and percentiles of 2.5 and 97.5%.

The `REFERENCELINECHOICE`

option allows reference lines can be included on the Bland-Altman plot:

`mean` or `bias` |
plots a line at the overall mean of the differences (default), |
---|---|

`limits` |
plots upper and lower limits of agreement, and |

`zero` |
plot horizontal line at zero, or one when `DMETHOD=ratio` . |

If there seems to be a trend in the plot (differences becoming larger or smaller as the means increase), it can be useful to fit a linear regression (on the mean) to the bias, or to the variation in the bias, or both. This is controlled by the `REGMETHOD`

option. Setting `REGMETHOD`

to `mean`

or `bias`

fits a line through the Bland-Altman plot to estimate the mean or bias. Limits of agreement are then calculated assuming a constant variance and a Normal distribution so that, if references lines are plotted for the limits, they will be parallel to the reference line for the mean. Alternatively, if `REGMETHOD=limits`

, linear regression is used to estimate the variation in the differences. The limits then form a ‘fan-shape’ pattern about the horizontal bias line. These two settings can be combined (`REGMETHOD=bias,limits`

) so that linear regression is used to estimate both the bias and the variation in the differences. Finally, if you set `REGMETHOD=auto`

, the procedure automatically determines whether or not linear regression should be used to estimate either the bias or the variation or both. The `ALPHALEVEL`

option then specifies the critical value for testing the significance of the regressions (default 0.05 i.e. 5%), to decide whether they should be used.

The `PLOT`

option controls the plots that are produced:

`blandaltman` |
produces the Bland-Altman plot (default), and |
---|---|

`normal` |
produces a Normal (q-q) plot of the differences. |

The x-values to be used in the Bland-Altman plot are controlled by the `XBLANDALTMAN`

option. The default is to use the averages of the `Y1`

and `Y2`

variates (as recommended by Bland & Altman 1995). Alternatively, the settings `Y1`

and `Y2`

allow one of the two variates to be used instead; Krouwer (2008) recommended plotting against measurements from a reference method, if this has provided much better precision.

By default high-precision graphics are used, but you can set option `GRAPHICS=lineprinter`

to produce character-based graphs in the output window instead. The `WINDOW`

option can be used to specify which graphics window to use for a high-resolution graph, and the `SCREEN`

option allows you to stop the screen being cleared before plotting the Bland-Altman graph. Note that this does not to apply to the Normal probability plots, as the `DPROBABILITY`

procedure (that is used to produce the plot) does not support the `SCREEN`

option.

There are several options and parameters that can be used to modify the appearance of the Bland-Altman plot. The `TITLE`

parameter can supply an overall title, and the `YTITLE`

and `XTITLE`

parameters can supply titles for the y- and x-axis. You can specify a text containing labels for the points in the Bland-Altman plot using the `LABELS`

parameter. The `PEN`

parameter allows you to specify a pen or pens for the points (default 1). The `PENZEROLINE`

, `PENMEANLINE`

and `PENLIMITSLINES`

options specify pens for the reference lines at zero, mean difference and limits of agreement, respectively. If these options are not set, `BLANDALTMAN`

uses the line colours, thicknesses and styles (if set) from pens 1, 2 and 3, respectively.

The `PRINT`

option controls the printing of the results, with settings:

`estimates` |
to print the estimates, and |
---|---|

`summary` |
to print a summary showing the number and percentage of values above and below zero, and outside the limits of agreement. |

When regression is being used, the estimates consist of the slope of the line, with its standard error and confidence interval, together with the sample size. Otherwise, they consist of the mean difference, limits of agreement, standard error of the differences and the sample size. By default, nothing is printed.

Note that the procedure does not cater for repeated measures of subjects. See Bland & Altman (1999, 2007) for information on how different types of repeated measures can be handled.

Options: `PRINT`

, `PLOT`

, `DMETHOD`

, `LMETHOD`

, `REGMETHOD`

, `CIPROBABILITY`

, `LOWERLIMIT`

, `UPPERLIMIT`

, `ALPHALEVEL`

, `XBLANDALTMAN`

, `REFERENCELINECHOICE`

, `GRAPHICS`

, `WINDOW`

, `SCREEN`

, `PENZEROLINE`

, `PENMEANLINE`

, `PENLIMITSLINES`

.

Parameters: `Y1`

, `Y2`

, `LABELS`

, `MEANS`

, `DIFFERENCES`

, `TITLE`

, `YTITLE`

, `XTITLE`

, `PEN`

.

### Action with `RESTRICT`

`Y1`

and `Y2`

factor can be restricted to exclude units from the analysis. Restrictions on `LABELS`

and `PEN`

are ignored.

### References

Altman, D.G. & Bland, J.M. (1983). Measurement in medicine: the analysis of method comparison studies. *Statistician*, 32, 307–317.

Bland, J.M. & Altman, D.G. (1986). Statistical methods for assessing agreement between two methods of clinical measurement. *Lancet*, i, 307–310.

Bland J.M. & Altman D.G. (1995). Comparing methods of measurement – why plotting difference against standard method is misleading. *Lancet*, 346, 1085–1087.

Bland, J. M. & Altman, D. G. (1999). Measuring agreement in method comparison studies. *Statistical Methods in Medical Research*, 8, 135–160.

Bland, J.M. & Altman, D.G. (2007). Agreement between methods of measurement with multiple observations per individual. *Journal of Biopharmaceutical Statistics*, 17, 571–582.

Krouwer, J.S. (2008). Why Bland–Altman plots should use X, not (Y+X)/2 when X is a reference method. *Statistics in Medicine*, 27, 778–780.

### See also

ProcedureS: `LCONCORDANCE`

, `RVALIDATE`

.

### Example

CAPTION 'BLANDALTMAN example',\ 'Data from Bland & Altman (1986), Lancet, i, 307-310.';\ STYLE=meta,plain VARIATE [NVALUES=17] Wright,Mini; VALUES=\ !(494,395,516,434,476,557,413,442,650,433,\ 417,656,267,478,178,423,427),\ !(512,430,520,428,500,600,364,380,658,445,\ 432,626,260,477,259,350,451) BLANDALTMAN [PRINT=estimates,summary; REFERENCE=mean,limit] Y1=Wright; Y2=Mini