[R-sig-ME] Non-parametric, multivariate, repeated measures, analysis. CLM?

Highland Statistics Ltd highstat at highstat.com
Mon Jul 8 12:23:54 CEST 2013



> ----------------------------------------------------------------------
>
> Message: 1
> Date: Sun, 7 Jul 2013 13:16:53 +0200
> From: Torvon <torvon at gmail.com>
> To: "r-sig-mixed-models at r-project.org"
> 	<r-sig-mixed-models at r-project.org>
> Subject: [R-sig-ME] Non-parametric, multivariate,	repeated measures
> 	analysis. CLM?
> Message-ID:
> 	<CACm_P7oHoJRxbkYzXomNNJAXGEbRKd3-VvpU1XcfB+qbrZutRA at mail.gmail.com>
> Content-Type: text/plain
>
> Dear all,
>
> I need to run a non-parametric, multivariate, repeated measures analysis. I
> have 9 ordered DVs (depression symptoms) on a scale between 0 and 3, and 2
> measurement points.
>
> What I want to find out is whether there is an interaction between time *
> symptoms, that is, whether symptoms differ in their change over time.

An interaction is something between covariates...not between a covariate 
and a response variable (symptoms).
More specifically...the interaction index * Time in your model tells you 
whether the relationship
between symptoms and time changes between the indices. I think what you 
are asking is whether
the main term Time is significant.

There is another problem. By concatenating all those 9 indices in one 
long vector you are introducing a new level of
dependency in your data. I assume that the first value of index 1 is 
from the same person as the first value of index 2? And the same for the 
other 7 observations.

You need to build that dependency in your model. Either with a random 
effect Participant....or in some form of GEE with a more fancy 
correlation (if you think that the correlation between the 9 indices 
differ).

Not sure if I understand where/why the non-parametric bit comes from.

Alain



> I have not found a proper way to do this yet (for metric variables you
> could run a simple multivariate repeated measures GLM, even SPSS can do
> that in 3 clicks).
>
> While searching for a solution I found a "trick" that I stumbled across in
> Joop Hox' book "Multilevel Analysis" (second edition, 2010), pp. 189.
>
> The trick is to reformat your long data into a long long dataset in which
> you create a new DV that includes all your DV responses, and use an index
> variable that holds information about the nature of the DVs to predict this
> outcome.
>
> In this dataset, I have participants * time * symptom rows. The variable
> "symptoms" contains the symptom severity of participants on 9 symptoms ( 0
> - 3), the variables "index" contains the information about the nature of
> the symptom (1 to 9), and finally I have the variable "time".
>
> data<-read.csv("data_long_long.csv", head=T)
>
> data$symptoms <- factor(data$symptoms)
> data$time <- factor(data$time)
> data$index <-factor(data$index)
>
> m1<-clm(symptoms ~ index*time, data = data)
>
>   link  threshold nobs  logLik    AIC      niter max.grad cond.H
>   logit flexible  26100 -20279.24 40598.47 6(0)  2.32e-12 9.1e+02
>
> Coefficients:
>                   Estimate Std. Error z value Pr(>|z|)
> index2        0.23664    0.09239   2.561 0.010426 *
> index3        1.18456    0.08527  13.892  < 2e-16 ***
> index4        1.25951    0.08452  14.903  < 2e-16 ***
> index5        0.50797    0.09022   5.630  1.8e-08 ***
> index6       -0.05645    0.09716  -0.581 0.561219
> index7       -0.33821    0.10261  -3.296 0.000980 ***
> index8       -1.46011    0.14010 -10.422  < 2e-16 ***
> index9       -1.76944    0.15673 -11.290  < 2e-16 ***
> time2             1.58636    0.08392  18.904  < 2e-16 ***
> index2:time2 -0.42100    0.11578  -3.636 0.000277 ***
> index3:time2 -1.01586    0.11053  -9.191  < 2e-16 ***
> index4:time2  0.16148    0.10865   1.486 0.137213
> index5:time2 -0.09218    0.11438  -0.806 0.420298
> index6:time2 -0.33049    0.12068  -2.738 0.006172 **
> index7:time2 -0.25286    0.12599  -2.007 0.044749 *
> index8:time2 -0.11819    0.16347  -0.723 0.469675
> index9:time2 -0.66872    0.18918  -3.535 0.000408 ***
> ---
> Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
>
> Threshold coefficients:
>      Estimate Std. Error z value
> 0|1  1.52104    0.06799   22.37
> 1|2  3.27583    0.07102   46.13
> 2|3  4.86367    0.07925   61.37
>
> Now, what I am looking for is the overall "symptom * time" interaction
> term. How do I obtain this value?
>
> Thank you
>   T-
>
> 	[[alternative HTML version deleted]]
>



More information about the R-sig-mixed-models mailing list