A **Q-Q plot,** short for “quantile-quantile” plot, is used to assess whether or not a set of data potentially came from some theoretical distribution.

In most cases, this type of plot is used to determine whether or not a set of data follows a normal distribution.

If the data is normally distributed, the points in a Q-Q plot will lie on a straight diagonal line.

Conversely, the more the points in the plot deviate significantly from a straight diagonal line, the less likely the set of data follows a normal distribution.

The easiest way to create a Q-Q plot in SAS is to use the **PROC UNIVARIATE** statement along with the **QQPLOT** statement:

proc univariate data=my_data noprint; qqplot my_variable; run;

The following examples show how to use this syntax in practice.

**Note**: We use the **NOPRINT** statement to suppress all other summary statistics and tables that are automatically generated by the **PROC UNIVARIATE** statement.

**Example 1: Create Q-Q Plot in SAS for Normal Data**

The following code shows how to create a Q-Q plot for a dataset that contains 1,000 observations generated from a normal distribution with a mean of 10 and standard deviation of 2:

**/*generate 1000 values that follow normal distribution with mean 10 and sd 2 */
data normal_data;
do i = 1 to 1000;
x = 10 + 2*rannor(1);
output;
end;
run;
/*create q-q plot*/
proc univariate data=normal_data noprint;
qqplot x;
run;**

We can see that the points lie mostly along a straight diagonal line with some minor deviations along each of the tails.

Based on this plot, we could safely assume that this set of data is normally distributed.

**Example 2: Q-Q Plot for Non-Normal Data**

The following code shows how to create a Q-Q plot for a dataset that contains 1,000 observations generated from an exponential distribution:

**/*generate 1000 values that follow an exponential distribution*/
data exp_data;
do i = 1 to 1000;
x = ranexp(1);
output;
end;
run;
/*create q-q plot*/
proc univariate data=exp_data noprint;
qqplot x;
run;**

Wan see that the points deviate significantly from a straight diagonal line. This is a clear indication that the set of data is not normally distributed.

This should make sense considering we specified that the data should follow an exponential distribution.

**Additional Resources**

The following tutorials explain how to perform other common tasks in SAS:

How to Use Proc Univariate for Normality Tests in SAS

How to Perform a Log Transformation in SAS

How to Identify Outliers in SAS