BookmarkSubscribeRSS Feed
Obsidian | Level 7

I have a single group pre-post data, with a continuous outcome (a score), and I am looking to see if there are differences in the scores by a binary variable.


So I have a pre score, a post score, a calculated change score, and a binary (yes/no) variable for each patient (N=44).


I fit an anova and an ancova adjusting for pre scores to the data for outcome 1=post and outcome 2=change.


The residuals for both are non-normal.


Is there some sort of non-parametric version of the ANCOVA I can use? I do not want to transform as it would create difficulties in interpretations.



proc glm data=x;

   model post= pre|binary / solution;



proc glm data=x;

   model change= pre|binary / solution;



Opal | Level 21

Test for the homogeneity of pre between groups first with Wilcoxon signed ranks. If that is not significant, then test for a difference in change between groups. If pre is shown to be non homogeneous then you might try to adjust for that difference by subsampling your data to create homogeneous pre groups.

Obsidian | Level 7

I have a small sample - i would prefer to use an alternate approach rather than subsampling. Is there not a method based on ranks I can do?

Super User

You may take a look Savage test.

Make change=post-pre firstly before model.


proc npar1way savage data=Mice;
class Treatment;
var Days;
exact savage;


Rhodochrosite | Level 12 sld
Rhodochrosite | Level 12

This looks like the same study on which you've posted multiple questions and gotten multiple responses.


If you are continuing to have issues with normality, perhaps it is because your "score" is inherently non-normal. If you provide the community with more information about your data--specifically, what the nature of your "score" is, what it measures, what values it takes, even post the dataset--someone may be more likely to be able to suggest a solution.


That said, if the response (conditional on the predictors) is non-normal then, well, it's non-normal. Whether you have to transform to achieve normality or whether you use a generallized linear model with a non-normal distribution, there will be interpretation issues with respect to the original scale. It's just the nature of the beast.


Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.


Register now!

What is ANOVA?

ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 4 replies
  • 4 in conversation