Skip to content

modeling effects in multiple data frames

4 messages · Emmanuel Curis, Ben Bolker, marKo

#
I have a question.
Is it possible to model when the data comes from different data-frames 
(lme4 or other)?
I have collected data from several participant at random times (every 
participant having data for cca 300 time points). The problem is that 
every participant have their unique time (which is a predictor). Every 
participant have data stored in a txt file. the idea is to model time 
effect (fixed) and participant variation (random effects). The time span 
is the same for all of the participant, but the sampling was random so 
the exact times differ by participant. To be more specific:

out: outcome variable (300 per participant)
t: time variable (300 per participant)
id: individual (100 for now)

I wood like to model something like:

lme4(out~1+time+time^2+(1+tim3+time^2|id, data=?????)

So 100 data-frames (not exactly, txt files) with 300 data points per 
data-frame. id variable defined by data-frame (txt file used).

Any ideas?

Thanks,

Marko
#
Assuming your hundred data.frames are in a list called data, why not
simply join them in a single data.frame: something like

d <- do.call( rbind, data )

This should work if all your data.frames (text files) have the same
number of variables and the same names for them.

Hope this helps,
On Tue, Jul 16, 2013 at 12:56:29PM +0200, marKo wrote:
? I have a question.
? Is it possible to model when the data comes from different
? data-frames (lme4 or other)?
? I have collected data from several participant at random times
? (every participant having data for cca 300 time points). The problem
? is that every participant have their unique time (which is a
? predictor). Every participant have data stored in a txt file. the
? idea is to model time effect (fixed) and participant variation
? (random effects). The time span is the same for all of the
? participant, but the sampling was random so the exact times differ
? by participant. To be more specific:
? 
? out: outcome variable (300 per participant)
? t: time variable (300 per participant)
? id: individual (100 for now)
? 
? I wood like to model something like:
? 
? lme4(out~1+time+time^2+(1+tim3+time^2|id, data=?????)
? 
? So 100 data-frames (not exactly, txt files) with 300 data points per
? data-frame. id variable defined by data-frame (txt file used).
? 
? Any ideas?
? 
? Thanks,
? 
? Marko
? 
? 
? 
? 
? -- 
? Marko Ton?i?
? Assistant Researcher
? University of Rijeka
? Faculty of Humanities and Social Sciences
? Department of Psychology
? Sveu?ili?na Avenija 4, 51000 Rijeka, Croatia
? 
? _______________________________________________
? R-sig-mixed-models at r-project.org mailing list
? https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
#
Emmanuel Curis <emmanuel.curis at ...> writes:
More specifically,

datList <- lapply(list.files(...),read.table)
nvec <- sapply(datList,nrow)
d <- cbind(do.call(rbind,datList),id=rep(1:length(datList),nvec))

lme4(out~poly(time,2,raw=TRUE)+(poly(time,2,raw=TRUE)|id),data=d)

Note that time^2 won't work as expected in a formula context; you either need

1 + time + I(time^2)

or

poly(time,2)  ## orthogonal polynomial

or

poly(time,2,raw=TRUE)  ## regular polynomial

  orthogonal polynomials are probably better unless you need
to be able to interpret the parameters in a specific way

[snip]
#
Thanks for the hint (both of you).
Nice the poly command. I know that i have to include I(time^2) I have 
written it without thinking.
The Ben's idea gives me plenty of flexibility regrading data manipulation.
Thanks a lot.


Marko
On 16.07.2013 16:18, Ben Bolker wrote: