[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