[R-sig-ME] within subjects, 3 conditions, 3 lines
ONKELINX, Thierry
Thierry.ONKELINX at inbo.be
Mon Jan 26 09:20:41 CET 2015
I made a Gist (https://gist.github.com/ThierryO/58ebc3c08da4fec58fb4) with a working example to simulate data. Note that the standard errors for the fixed effects of the mixed model are larger than those of the linear model.
Best regards,
ir. Thierry Onkelinx
Instituut voor natuur- en bosonderzoek / Research Institute for Nature and Forest
team Biometrie & Kwaliteitszorg / team Biometrics & Quality Assurance
Kliniekstraat 25
1070 Anderlecht
Belgium
+ 32 2 525 02 51
+ 32 54 43 61 85
Thierry.Onkelinx op inbo.be
www.inbo.be
To call in the statistician after the experiment is done may be no more than asking him to perform a post-mortem examination: he may be able to say what the experiment
died of. ~ Sir Ronald Aylmer Fisher
The plural of anecdote is not data. ~ Roger Brinner
The combination of some data and an aching desire for an answer does not ensure that a reasonable answer can be extracted from a given body of data. ~ John Tukey
Van: Stanislav Aggerwal [stan.aggerwal op gmail.com]
Verzonden: zondag 25 januari 2015 14:00
Aan: ONKELINX, Thierry
CC: r-sig-mixed-models op r-project.org
Onderwerp: Re: [R-sig-ME] within subjects, 3 conditions, 3 lines
Thierry, thanks for your help, but your model is completely different from what I want, so far as I can tell.
The model I want to fit is this. Each subject produces 3 lines, one for each condition
y = b1 + b2*x + error #condition a
y = b3 + b4*x + error # condition b
y = b5 + b6*x + error #condition c
Within each subject, these three lines have differing slopes and intercepts. For each subject, each parameter (b1 to pick an example) is not identical to that of other subjects but is similar to that from other subjects.
The intercepts, b1, b3, and b5 vary between subjects. Each subject's b1, b3, and b5 is randomly sampled from N(p_i,sd_i) where p_i is the population value for each of the 3 parameters
The intercepts, b2, b4, and b6 vary between subjects. Each subject's b2, b4, and b6 is randomly sampled from N(p_i,sd_i) where p_i is the population value for each of the 3 parameters.
In my simulations I used params a1-a6 which are the R parametrisation used in fitting linear models, instead of b1-b6. E.g. a2 = b1+b2
So far as I can tell (and I looked hard), my code is producing the right sort of simulated data. And these simulated data look similar to my real data.
If we pretend that subjects is a fixed effect, we have
lm(y ~ x*cond*subj)
A different slope and intercept for each condition and each subject.
Thanks again,
Bill
On Sat, Jan 24, 2015 at 10:35 AM, Stanislav Aggerwal
<stan.aggerwal op gmail.com> wrote:
Thanks Thierry!
Stan
On Thu, Jan 22, 2015 at 4:16 PM, ONKELINX, Thierry
<Thierry.ONKELINX op inbo.be> wrote:
Dear Stan,
Please keep the mailing in cc. You use rnorm(nsubj,mean=0,sd=.1) as the random intercept. However rnorm() will be evaluate again in a1, a2, ..., a6 and thus yielding different values of the random intercept in a1, a2, ..., a6. You want
Rf <- rnorm(nsubj,mean=0,sd=.1)
a1<- rep(1+ rf,each=5) #inta=1
a2<- rep(1 + rf,each=5) #intb-inta=2-1=1
Note that is more clear to define the fixed, random effect and noise separately and add those components in a separate step.
Best regards,
Thierry
ir. Thierry Onkelinx
Instituut voor natuur- en bosonderzoek / Research Institute for Nature and Forest
team Biometrie & Kwaliteitszorg / team Biometrics & Quality Assurance
Kliniekstraat 25
1070 Anderlecht
Belgium
+ 32 2 525 02 51
+ 32 54 43 61 85
Thierry.Onkelinx op inbo.be
www.inbo.be
To call in the statistician after the experiment is done may be no more than asking him to perform a post-mortem examination: he may be able to say what the experiment died of.
~ Sir Ronald Aylmer Fisher
The plural of anecdote is not data.
~ Roger Brinner
The combination of some data and an aching desire for an answer does not ensure that a reasonable answer can be extracted from a given body of data.
~ John Tukey
Van: Stanislav Aggerwal [mailto:stan.aggerwal op gmail.com]
Verzonden: donderdag 22 januari 2015 12:25
Aan: ONKELINX, Thierry
Onderwerp: Re: [R-sig-ME] within subjects, 3 conditions, 3 lines
Thanks Thierry for your help. Could I get some clarification please?
You get the right answer for the wrong question. Because you have a bug in the code that simulates the data. You added a second noise term instead of a random intercept. Hint: set all parameters not related to the random intercept to 0 in a1 to a6. Then a1
to a6 should be equal.
There are 30*3 (subjects * conditions) random intercepts. Also 30 random slopes. There are 6 params because there are 3 conditions: (slope and intercept)*3
a1-a6 have the population values: 1, 1, 2, 3, -1, -2
Then each subject has a1-a6 values that randomly vary about these population values.
It is the model I meant, and it describes my data.
Are you saying I implemented it wrong? I don't understand how.
a1<- rep(1+rnorm(nsubj,mean=0,sd=.1),each=5) #inta=1
a2<- rep(1+rnorm(nsubj,mean=0,sd=.1),each=5) #intb-inta=2-1=1
a3<- rep(2+rnorm(nsubj,mean=0,sd=.1),each=5) #intc-inta=3-1=2
a4<- rep(3+rnorm(nsubj,mean=0,sd=.1),each=5) #slopea=3
a5<- rep(-1+rnorm(nsubj,mean=0,sd=.1),each=5) #slopeb-slopea
a6<- rep(-2+rnorm(nsubj,mean=0,sd=.1),each=5) #slopec-slopea
y[cond=="a"]<-a1 + a4*x[cond=="a"]
y[cond=="b"]<-a1+a2 + (a4+a5)*x[cond=="b"]
y[cond=="c"]<-a1+a3 + (a4+a6)*x[cond=="c"]
Then I add errors. For each subject the data are not perfectly described by a line, due to measurement error. If I did not add this, the only source of noise in the model is due to the variation in slopes and intercepts between subjects.
Are you saying I should eliminate these measurement errors?
This is the model I intend:
For each subject in each condition:
y = int + slope*x + error
each subject has 3 lines (for a, b, c) with params a1-a6
#autocorrelated errors
for(i in 1:nsubj)
{
y[subj==i]<-y[subj==i] +
as.numeric(filter(rnorm(5*3,mean=0,sd=.5),filter=0.5,method="recursive"))
}
If you look at the plot I think it looks correct.
Thanks very much!
Cheers
Stan
Disclaimer<https://www.inbo.be/nl/disclaimer-mailberichten-van-het-inbo>
Disclaimer<https://www.inbo.be/nl/disclaimer-mailberichten-van-het-inbo>
More information about the R-sig-mixed-models
mailing list