Ordered Probit and Logit Models R Program and Output
Ordered Probit and Logit Models R Program and Output
# install.packages("rms")
library(rms)
mydata<- read.csv("C:/Econometrics/Data/ordered_health.csv")
attach(mydata)
Y <- cbind(healthstatus1)
X <- cbind(age, logincome, numberdiseases)
Xvar <- c("age", "logincome", "numberdiseases")
# Descriptive statistics
summary(Y)
summary(X)
table(Y)
untangle.specials
Surv
>
> mydata<- read.csv("C:/Econometrics/Data/ordered_health.csv")
> attach(mydata)
>
> Y <- cbind(healthstatus1)
> X <- cbind(age, logincome, numberdiseases)
> Xvar <- c("age", "logincome", "numberdiseases")
>
> # Descriptive statistics
> summary(Y)
healthstatus1
Min. :1.000
1st Qu.:2.000
Median :3.000
Mean :2.447
3rd Qu.:3.000
Max. :3.000
> summary(X)
age logincome numberdiseases
Min. : 0.02533 Min. : 0.000 Min. : 0.00
1st Qu.:11.34086 1st Qu.: 8.570 1st Qu.: 6.90
Median :24.13210 Median : 8.976 Median :10.58
Mean :25.57613 Mean : 8.697 Mean :11.21
3rd Qu.:37.19781 3rd Qu.: 9.251 3rd Qu.:13.73
Max. :63.27515 Max. :10.283 Max. :58.60
> table(Y)
Y
1 2 3
523 2034 3017
>
> # Ordered logit model coefficients
> ddist<- datadist(Xvar)
> options(datadist='ddist')
>
> ologit<- lrm(Y ~ X, data=mydata)
> print(ologit)
>
> # Ordered logit model odds ratio
> # summary(ologit)
>
> # Ordered logit predicted probabilities
> # xmeans <- colMeans(X)
> # newdata1 <- data.frame(t(xmeans))
> fitted <- predict(ologit, newdata=mydata, type="fitted.ind")
> colMeans(fitted)
Y=1 Y=2 Y=3
0.09469033 0.36516716 0.54014250