How to set up a one-way repeated measures MANOVA in R with no between-subject factors

Главный вопрос

I'm looking for help setting up a one-way repeated measures MANOVA in R for a data-set that has no between-subject factors.

Фон

While there are plenty of good guides out there for setting up RM MANOVAs with between-subject factors, I have, as of yet, been unable to find any when you have an entirely within-subject design. This problem seems like it should be fairly straight-forward, but I am new to using MANOVA, so I am not sure if I'm approaching the problem correctly. I have been primarily using the car package in R, though I am open to suggestions for how to do this differently.

To demonstrate the problem, I'll use a subset of the OBrienKaiser data set, and I'll assume that each of the levels of the Hours within-subjects factor instead represents the measurement of a different dependent variable. I'll then take the pre а также post conditions to be the two levels of my single within-subjects independent variable. To keep things concise, I'll only look at the first three levels from Hours,

So what I have for my data set is 16 subjects measured in two different conditions (pre а также post) on 3 different dependent variables (1,2, а также 3).

data <- subset(OBrienKaiser,select=c(pre.1,pre.2,pre.3,post.1,post.2,post.3))

My goal is to look for a difference between pre а также post across the combination of the three different dependent variables. I've relied heavily on this guide...

http://socserv.mcmaster.ca/jfox/Books/Companion/appendix/Appendix-Multivariate-Linear-Models.pdf

... but the case used there is not quite the same, and includes between-subject conditions that I do not have. So far, I have been able to produce potentially correct results with the following approach, but my problem is that I'm not fully sure I've set the problem up correctly. In general, my approach was to follow the steps outline above, but simply omit the between-subject conditions.

My Approach

I start by designing the idata matrix for the Anova() function call by treating the condition and the dependent variables as two different within-subject factors

Condition <- factor(rep(c('Pre','Post'),each=3),levels=c('Pre','Post'))
Measure <- factor(rep(c('M1','M2','M3'),2),levels=c('M1','M2','M3'))
idata <- data.frame(Condition,Measure)

Next, build the multivariate linear model on the data-set, ignoring the between-subject factors.

mod.mlm <- lm(cbind(pre.1,pre.2,pre.3,post.1,post.2,post.3)~1,data=data)

Я тогда звоню Anova() on the linear-model object mod.mlm, с использованием idata I defined earlier, and setting my within-subjects design to be ~Condition,

av.out <- Anova(mod.mlm,idata=idata,idesign=~Condition,type=3)

This yields the following output...

Type III Repeated Measures MANOVA Tests: Pillai test statistic
             Df test stat approx F num Df den Df   Pr(>F)    
(Intercept)  1   0.91438  160.189      1     15 2.08e-09 ***
Condition    1   0.37062    8.833      1     15 0.009498 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Мне этот процесс и этот результат кажется разумным. Есть две вещи, которые заставляют меня задуматься.

  1. При настройке линейной модели отсутствие предикторной переменной кажется странным, но я думаю, что это в конечном итоге определяется в вызове Anova() с idesign, Если это так, как настроить Anova с car тогда отлично. Просто кажется странным строить линейную модель без предиктора, когда у меня есть переменная предиктора, в которой я явно заинтересован.

  2. Если я использую summary(an.out) чтобы более глубоко взглянуть на модель, которая выходит, я вижу контрасты, которые входят в дизайн. Контраст, который создается с помощью вышеуказанных кодов подхода pre с 1 и post с -1. Я считаю, что это подходящий контраст для того, что я пытаюсь сделать, но я не совсем уверен. Учитывая, что можно передать в пользовательском контрасте, используя imatrix или же contrasts в призыве к Anova()Я хотел бы быть уверен, что то, что я пытаюсь проверить (т.е. различия между pre а также post через три зависимые переменные) это то, что я на самом деле тестирую.

Будем весьма благодарны за любую помощь и / или советы о том, как понимать повторные измерения MANOVA в целом в этом контексте, а также за конкретные советы о том, как реализовать это в R.

бонус

Я также хотел бы сделать то же самое в Matlab, поэтому, если у кого-то есть конкретный совет по этому поводу, он будет оценен (хотя я понимаю, что для этого может потребоваться собственный вопрос).

0 ответов

Другие вопросы по тегам