Я пытаюсь установить смешанные модели совокупной связи с пакетом ordinal
, но я кое-что не понимаю о получении вероятностей прогноза. Я использую следующий пример из ordinal
пакета:Вероятностные прогнозы с комбинированными смешанными моделями
library(ordinal)
data(soup)
## More manageable data set:
dat <- subset(soup, as.numeric(as.character(RESP)) <= 24)
dat$RESP <- dat$RESP[drop=TRUE]
m1 <- clmm2(SURENESS ~ PROD, random = RESP, data = dat, link="logistic", Hess = TRUE,doFit=T)
summary(m1)
str(dat)
Теперь я пытаюсь получить предсказание вероятностей для нового набора данных
newdata1=data.frame(PROD=factor(c("Ref", "Ref")), SURENESS=factor(c("6","6")))
с
predict(m1, newdata=newdata1)
но я набираюсь следующая погрешность
Error in `contrasts<-`(`*tmp*`, value = contr.funs[1 + isOF[nn]]) :
contrasts can be applied only to factors with 2 or more levels
Почему я получаю эту ошибку? Есть что-то в синтаксисе predict.clmm2()
неправильно? Как правило, какие вероятности дает прогноз. Clmm2() output? Pr(J<j)
или Pr(J=j)
? Может ли кто-нибудь указать мне на информацию (сайт, книги) материал, касающийся установки категориальных (порядковых) ординарных смешанных моделей, в частности с R. Из моего поиска в литературе и в сети большинство исследователей подходят к этим типам моделей с SAS.
Возможно, вам нужно сделать что-то вроде 'newdata1 = data.frame (PROD = factor (c (« Ref »,« Ref »), levels = c (« Ref »,« Somethingelse »), ...) '- ошибка означает, что вы не можете предсказать что-то с менее чем 2-мя уровнями факторов (которые у вас есть). –
(Отказ от ответственности: я ничего не знаю о CLMM). В вашей формуле модели« SURENESS »кажется вашим ответом переменная, но вы используете ее в своих newdata вместо SOUPTYPE. Также вы оставляете PROD из исходной формулы, но включаете ее в свои новые данные. Было ли это намеренно? В любом случае, когда я запускаю код, независимо от того, использую ли я SOUPTYPE или SURENESS в newdata, R говорит мне, что другая переменная отсутствует (т. Е. Я получаю от вас другую ошибку, R 2.15.0) –
Спасибо. Я исправил ее, но все равно плюет ту же ошибку. – ECII