Specifying block-level variables for a complete block design with glmer
I administered a questionnaire a bunch of people people. The questionnaire asked about demographics, which I would like to model as random effects, and a bunch of related questions that could be thought of as a factorial layout, which I would like to model as fixed effects. I currently have a model where person is the only random effect, and I would like to include the demographics in the model. I administered a questionnaire to 173 people, with a different "id" value assigned to each person. This posture included questions on demographics and 12 questions that can be thought of as a 2x2x3 factorial layout. I thus have 2076=173*12 experimental units. The demographics are all categorical except for "height" and "age". Here are the first six of those experimental units.
head(posture.df)
? id school county? building your_residence mobility_impairments country height
1? 1???? GM????? 0 house_apt??????? private?????????????????? no???? 101???? 66
2? 1???? GM????? 0 house_apt??????? private?????????????????? no???? 101???? 66
3? 1???? GM????? 0 house_apt??????? private?????????????????? no???? 101???? 66
4? 1???? GM????? 0 house_apt??????? private?????????????????? no???? 101???? 66
5? 1???? GM????? 0 house_apt??????? private?????????????????? no???? 101???? 66
6? 1???? GM????? 0 house_apt??????? private?????????????????? no???? 101???? 66
? age? sex???? task?? space cleanliness posture?? sit hover
1? 29 male??? urine? public unspecified?? stand FALSE FALSE
2? 29 male??? urine private unspecified?? stand FALSE FALSE
3? 29 male defecate? public unspecified?? hover FALSE? TRUE
4? 29 male defecate private unspecified???? sit? TRUE FALSE
5? 29 male??? urine? public?????? dirty?? stand FALSE FALSE
6? 29 male??? urine? public?????? clean?? stand FALSE FALSE
The three factors in the factorial layout are "task", "space" and
"cleanliness". The response variable is the binary variable "sit".
This model allows me to block by participant ("id").
glmer(sit ~ space*task*cleanliness + (1|id), family = binomial, data = posture.df)
I would like to model the effects of demographics, such as "sex". The demographics were measured at the person level. If I wanted to look at the effects of these demographics for only one of the 12 treatment combinations, I could do thus something like this.
glm(sit ~ sex*height+school, family = binomial, data = subset(posture.df,space=='public'&cleanliness=='unspecified'&task=='defecate'))
I would prefer, of course, to look at these effects on all 12 treatment combinations simultaneously. So how do I include the demographics? Thanks Tom