# Nonparametric equivalent of ANCOVA for continuous dependent variables

I have an independent categorical variable ($X$ with two categories, $x_{1}$ and $x_{2}$) and two continuous dependent variables ($y$ and $z$).

Using a Mann Whitney test, I know that $y$ is significantly associated with $x_{1}$ and $z$ is likewise significantly associated with $x_{1}$. However, it could be that either $y$ confounds the relationship seen between $x_{1}$ and $z$, or vice versa, i.e. $z$ confounds the relationship seen between $x_{1}$ and $y$.

What distribution-free tests can I use to try account for each factor in tests of $y$ versus $X$ and $z$ versus $X$?

How can I achieve this in R and SPSS?

-
Non-parametric ANCOVA is available in the sm R package (sm.ancova). –  chl Oct 27 '12 at 18:02
@chl Answer (to accept)? –  jetistat001 Oct 27 '12 at 19:39
@chi Is it me being confused or is the OP asking about distribution-free ANCOVA (where 'nonparametric' refers to the distributional assumption), while sm is (I think) addressing smoothing (where 'nonparametric' refers to the form of the relationship between y and a continuous covariate). These are different things. See items 1. vs 2. in the introductory section of the relevant wikipedia page. Such confusion of terminology causes endless problems! –  Glen_b Apr 4 at 23:50

Turning my comment to an answer, the sm package offers non-parametric ANCOVA as sm.ancova. Here is a toy example:

data(anorexia, package="MASS")
anorexia$Treat <- relevel(anorexia$Treat , ref="Cont")
# visual check for the parallel group assumption
xyplot(Postwt ~ Prewt, data=anorexia, groups=Treat, aspect="iso", type=c("p","r"),
auto.key=list(space="right", lines=TRUE, points=FALSE))
# fit two nested models (equal and varying slopes across groups)
anorex.aov0 <- aov(Postwt ~ Prewt + Treat, data=anorexia) # ≈ lm(Postwt ~ Prewt + Treat + offset(Prewt), data=anorexia)
anorex.aov1 <- aov(Postwt ~ Prewt * Treat, data=anorexia)
# check if we need the interaction term
anova(anorex.aov0, anorex.aov1)
summary.lm(anorex.aov1)


The above shows that the parallel group assumption is not realistic and that we must account for the interaction (p=0.007) between the factor group and continuous covariate.

Here is what we would get with sm.ancova, with default smoothing parameter and equal-group as the reference model:

> with(anorexia, ancova.np <- sm.ancova(Prewt, Postwt, Treat, model="equal"))
Test of equality :  h =  1.90502    p-value =  0.0036
Band available only to compare two groups.


There is another R package for non-parametric ANCOVA (I haven't tested it, though): fANCOVA, with T.aov allowing to test for the equality of nonparametric curves or surfaces based on an ANOVA-type statistic.

-