library(languageR)

data(finalDevoicing)
library(rpart)

# ---- CART tree 

finalDevoicing.rp = rpart(Voice ~ ., data = finalDevoicing[ , -1])
plotcp(finalDevoicing.rp)
finalDevoicing.pruned = prune(finalDevoicing.rp, cp = 0.021)
plot(finalDevoicing.pruned, margin = 0.1, compress = FALSE)
text(finalDevoicing.pruned, use.n = TRUE, pretty = 0, cex=0.8, fancy=F)

# ---- logistic regression 

library(Design)

finalDevoicing.dd = datadist(finalDevoicing)
options(datadist='finalDevoicing.dd')

finalDevoicing.lrm = lrm(Voice ~ VowelType + ConsonantType + Obstruent + 
Nsyll + Stress + Onset1Type + Onset2Type, data = finalDevoicing)
anova(finalDevoicing.lrm)
vif(finalDevoicing.lrm)

# ---- model simplification

fastbw(finalDevoicing.lrm)

finalDevoicing.lrm = lrm(Voice ~ VowelType + ConsonantType + 
Obstruent + Nsyll, data = finalDevoicing, x = TRUE, y = TRUE)

par(mfrow=c(2,2))
plot(finalDevoicing.lrm, fun = plogis, ylim = c(0, 1), 
ylab = "p(voiceless)")
par(mfrow=c(1,1))

# ---- model validation

validate(finalDevoicing.lrm, B = 200)


## End(Not run)