Thanks a lot for your answer. I am sorry for the confusion. My analyses consist of two parts. First, calculating how much variability a term adds to the model (the ICC in the empty model, just with my random intercepts) I have these results already. Then for the second part, I want to quantify the variance explained by my predictors in each level (I think this is the R2 within my subgroups).
My dataset is actually structured in 3 levels: participants (identr), meal type (fco_code), and data level.
Is the following the correct use of the R2 by subgroups measure?
#R2 level 3 (identr)
post_identr ← posterior_predict(fit,re.form = ~ (1|identr))
postlin_identr ← posterior_linpred(fit,transform=TRUE,re.form = ~ (1|identr))
r2_identr ← mean(apply(postlin_identr,1,FUN=var))/ mean(apply(post_identr,1,FUN=var))
#R2 level 2 (fco_code)
post_fco ← posterior_predict(fit,re.form= ~ (1|fco_code:identr))
postlin_fco ← posterior_linpred(fit,transform= TRUE, re.form = ~ (1|fco_code:identr))
r2_fco ← mean(apply(postlin_fco,1,FUN=var))/mean(apply(post_fco,1,FUN=var))
#R2 level 1 (data level)
postlin_data ← posterior_linpred(fit,transform=TRUE, re.form=NA)
post_data ← posterior_predict(fit, re.form=NA)
r2_data ← mean(apply(postlin_data,1,FUN=var))/ mean(apply(post_data,1,FUN=var))
For example in level 3, does the result give only the variance explained by the predictors in my fit model within this subgroup (or does this include also the observation level)?
And in the case of level 2, this R2 means the variance explained by the predictors only on the fco_code level? (note that these are random intercepts within level 3).
My doubts arise because I am getting unexpected results: among the predictors in the model are sex, which I would expect to explain an important part of the variance in the participant (identr) level, however, the value comes out to be around 0.08.
Thank you!!