accident <- read.table(file="http://sites.williams.edu/bklingen/files/2013/12/accident.dat", header=TRUE) accident require(VGAM) fit <- vglm(cbind(y1,y2,y3,y4,y5) ~ gender + location + seatbelt + location*seatbelt, data=accident, family=cumulative(parallel=TRUE)) summary(fit) ### with package ordinal require("reshape2") accident.long <- melt(accident,1:3) colnames(accident.long)[4:5] <- c("resp","count") accident.long$resp = factor(accident.long$resp, labels=c("not injured","not transported","not hospitalized","hospitalized", "died"), ordered=TRUE) head(accident.long) require(ordinal) fit <- clm(resp ~ gender + location + seatbelt + location*seatbelt, weights= count, data=accident.long) summary(fit) head(cbind(accident.long,fitted(fit)))