- SAS - Dates & Times
- SAS - Macros
- SAS - Input Methods
- SAS - Functions
- SAS - Decision Making
- SAS - Loops
- SAS - Operators
- SAS - Numeric Formats
- SAS - Arrays
- SAS - Strings
- SAS - Variables
- SAS - Data Sets
- SAS - Basic Syntax
- SAS - Program Structure
- SAS - User Interface
- SAS - Environment
- SAS - Overview
- SAS - Home
SAS Data Set Operations
- SAS - Simulations
- SAS - Output Delivery System
- SAS - SQL
- SAS - Format Data Sets
- SAS - Sort Data Sets
- SAS - Subsetting Data Sets
- SAS - Merging Data Sets
- SAS - Concatenate Data Sets
- SAS - Write Data Sets
- SAS - Read Raw Data
SAS Data Representation
SAS Basic Statistical Procedure
- SAS - Hypothesis Testing
- SAS - One-Way Anova
- SAS - Repeated Measure Analysis
- SAS - Fishers Exact Tests
- SAS - Chi-Square
- SAS - Bland-Altman Analysis
- SAS - Linear Regression
- SAS - Correlation Analysis
- SAS - T Tests
- SAS - Cross Tabulations
- SAS - Frequency Distributions
- SAS - Standard Deviation
- SAS - Arithmetic Mean
SAS Useful Resources
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
SAS - Bland Altman Analysis
The Bland-Altman analysis is a process to verify the extent of agreement or disagreement between two methods designed to measure same parameters. A high correlation between the methods indicate that good enough sample has been chosen in data analysis. In SAS we create a Bland-Altman plot by calculating the mean, upper pmit and lower pmit of the variable values. We then use PROC SGPLOT to create the Bland-Altman plot.
Syntax
The basic syntax for applying PROC SGPLOT in SAS is −
PROC SGPLOT DATA = dataset; SCATTER X = variable Y = Variable; REFLINE value;
Following is the description of the parameters used −
Dataset is the name of the dataset.
SCATTER statement cerates the scatter plot graph of the value suppped in form of X and Y.
REFLINE creates a horizontal or vertical reference pne.
Example
In the below example we take the result of two experiments generated by two methods named new and old. We calculate the differences in the values of the variables and also the mean of the variables of the same observation. We also calculate the standard deviation values to be used in the upper and lower pmit of the calculation.
The result shows a Bland-Altman plot as a scatter plot.
data mydata; input new old; datapnes; 31 45 27 12 11 37 36 25 14 8 27 15 3 11 62 42 38 35 20 9 35 54 62 67 48 25 77 64 45 53 32 42 16 19 15 27 22 9 8 38 24 16 59 25 ; data diffs ; set mydata ; /* calculate the difference */ diff = new-old ; /* calculate the average */ mean = (new+old)/2 ; run ; proc print data = diffs; run; proc sql noprint ; select mean(diff)-2*std(diff), mean(diff)+2*std(diff) into :lower, :upper from diffs ; quit; proc sgplot data = diffs ; scatter x = mean y = diff; refpne 0 &upper &lower / LABEL = ("zero bias pne" "95% upper pmit" "95% lower pmit"); TITLE Bland-Altman Plot ; footnote Accurate prediction with 10% homogeneous error ; run ; quit ;
When the above code is executed, we get the following result −
Enhanced Model
In an enhanced model of the above program we get 95 percent confidence level curve fitting.
proc sgplot data = diffs ; reg x = new y = diff/clm clmtransparency = .5; needle x = new y = diff/basepne = 0; refpne 0 / LABEL = ( No diff pne ); TITLE Enhanced Bland-Altman Plot ; footnote Accurate prediction with 10% homogeneous error ; run ; quit ;
When the above code is executed, we get the following result −
Advertisements