# R script for lecture 6 in STK4900/9900 # Slide 12: Kittiwake example -------------------------------------------------- kittiwake <- matrix(c(100,175,60,434), nrow=2) rownames(kittiwake) <- c("unsuccessful","successful") colnames(kittiwake) <- c("divorced","not_divorced") kittiwake chisq.res <- chisq.test(kittiwake, correct=FALSE) chisq.res sum(((chisq.res$observed-chisq.res$expected)^2)/chisq.res$expected) prop.res <- prop.test(kittiwake, correct=FALSE) prop.res # Slide 15: Contingency table -------------------------------------------------- bloodpr <- matrix(c(14,11,6,11,11,10,8,9,12), nrow=3) rownames(bloodpr) <- c("F.low","F.middle","F.upper") colnames(bloodpr) <- c("C.low","C.middle","C.upper") bloodpr chisq.res <- chisq.test(bloodpr, correct=FALSE) chisq.res chisq.res$observed chisq.res$expected # Slide 27-28: Logistic regression - CHD data ---------------------------------- wcgs <- read.table("http://www.uio.no/studier/emner/matnat/math/STK4900/data/wcgs.txt", sep="\t", header=TRUE, na.strings=".") # Group data by mean age in each age category wcgs$agem <- 39.5*(wcgs$agec==0)+42.9*(wcgs$agec==1)+47.9*(wcgs$agec==2)+52.8*(wcgs$agec==3)+57.3*(wcgs$agec==4) table(wcgs$agem,wcgs$chd69) fit.binary <- glm(chd69~agem, data=wcgs, family=binomial) summary(fit.binary) predict(fit.binary, type="response", data.frame(agem=50)) tmp <- table(wcgs$agem,wcgs$chd69) chd.grouped <- data.frame(chd=tmp[,2], no.chd=tmp[,1], agem=as.numeric(rownames(tmp))) row.names(chd.grouped) <- 1:5 fit.grouped <- glm(cbind(chd,no.chd)~agem, data=chd.grouped, family=binomial) summary(fit.grouped)