Hello, I've posted yesterday investigating about random effects in proportional odds cummulative mixed effects model; specifically about clmm() from the ordinal package. I was doing some more reading about categorical data analysis (e.g. Agresti (2010): Analysis of Ordinal Categorical Data). Additionally to analysing data with an ordinal response with the help aforementioned models it seems some people suggest e.g. to use the glmer() function from lme4 to fit a whole range of models. The data: --------- My data looks as follows: (1) ordinal response: a five point scale with 1<2<3<4<5 (1 being worst, 3 being neutral, 5 being best) (2) one single categorical predictor "type" with 5 levels (3) subjects as random effects term which I would specify in lme4 syntax: (type | subjects) with intercept and slope for every subject. Every subject saw 320 items (40 for level 1, 40 for level 2, 40 for level 3, 160 for level 4) and rated every single one of them. The dataset seems quite nice and as it only contains a single predictor is very good to get acquainted with categorical data analysis. So as I pointed out yesterday in my mail (https://stat.ethz.ch/pipermail/r-sig-mixed-models/2014q3/022582.html) I used proportional odds cummulative mixed effects models which seems a good choice. Alternative methods to proportional odds mixed effects models that can also acount for random effects and for which R packages exist?: ---------------------------------------------------------------------- However, I was wondering if there are alternative ways of analysing such data apart from treating the response as a continuous variable and using lmer() or aov(). And if there are any recommendation or advice people can give here. This is mainly because I'm somewhat uncomfortable with using MCMCglmm when I'm not doing a full-blown Bayesian analysis and I'm not sure about clmm() in the ordinal package when it does state in its reference manual that vector valued random effects cannot be fit. I can see me having a hard time explaining this to publishers. Fitting multiple glmer()'s to subsets of the orginal data? ---------------------------------------------------------- Here is an alternative I read about (I think on Stackoverflow by Ben). One could split a dataset with an ordinal response into subsets that each only contain two levels of the ordinal response. There are some questions I have about this. How would you split that dataset into subsets given a 5 point ordinal response? (Does subset A with levels 1 and 2, subset B with levels 2 and 3, subset C with levels 3 and 4, subset D with levels 4 and 5 seems like a good choice because of the ordering?) I tried this with the wine data set from the ordinal package. But this will ungraciously fail because of convergence failures, model unidentifiability etc. (I'm using lme4 1.1.8). Here is the wine example: library(ordinal) # because of the wine dataset library(lme4) sub12 <- wine$rating %in% grep("[1-2]", wine$rating, value = TRUE) sub12 <- subset(wine, subset = sub) sub12$rating <- factor(sub12$rating, ordered = FALSE) glmer12 <- glmer(rating ~ temp + contact + (temp | judge), data = sub12, family = binomial) # Substituting (1 | judge) for (temp | judge) won't make it better # Will give no warning glm12 <- glm(rating ~ temp + contact, data = sub12, family = binomial) sub23 <- wine$rating %in% grep("[2-3]", wine$rating, value = TRUE) sub23 <- subset(wine, subset = sub) sub23$rating <- factor(sub23$rating, ordered = FALSE) glmer23 <- glmer(rating ~ temp + contact + (temp | judge), data = sub23, family = binomial) sub34 <- wine$rating %in% grep("[3-4]", wine$rating, value = TRUE) sub34 <- subset(wine, subset = sub) sub34$rating <- factor(sub34$rating, ordered = FALSE) glmer34 <- glmer(rating ~ temp + contact + (temp | judge), data = sub34, family = binomial) Of course the wine dataset is rather tiny and mine won't but how likely am I to run in similar problem if I analyse ordinal data this way? Best, Christian
Analysing data with an ordinal response
1 message · Christian Brauner