R kode for multippel regresjon av sigarettdata (avsnitt 12.7)
# Vi vil se p? et datasett om sammenhengen mellom mengden av karbonmonoksid (mg) i sigarettr?yk og mengden av nikotin (mg) og tj?re (mg) i sigaretten.
# En n?rmere beskrivelse av dataene er gitt her.
# Vi leser inn dataene og knytter til datarammen:
sigaretter=read.table("http://www.uio.no/studier/emner/matnat/math/STK1110/h10/sigaretter.txt",header=T)
attach(sigaretter)
# Vi ser f?rst p? effekten av nikotin og tj?re hver for seg:
par(mfrow=c(1,2))
plot(nikotin,co)
plot(tjaere,co)
fit.n=lm(co~nikotin)
summary(fit.n)
fit.t=lm(co~tjaere)
summary(fit.t)
# Vi ser f?rst s? p? begge variablene under ett:
fit.nt=lm(co~nikotin+tjaere)
summary(fit.nt)
# Merk at det ikke er noen effect av nikotin n?r vi har med tj?re i modellen.
# Vi plotter residualene for modellen med tj?re som forklaringsvariabel:
par(mfrow=c(2,2))
qqnorm(fit.t$residuals)
plot(fit.t$fitted.values,fit.t$residuals)
plot(sigaretter$tjaere,fit.t$residuals)
plot(sigaretter$nikotin,fit.t$residuals)
# Merk at det er et avvikende residual. Det er for observasjon nummer 3 (BullDurham)
# Vi gjentar analysen uten observasjon nummer 3.
# (Merk at f?r vi knytter til den nye datarammen, fjerner vi tilknytningen av den gamle.)
sigaretter.ny=sigaretter[-3,]
detach(sigaretter)
attach(sigaretter.ny)
par(mfrow=c(1,2))
plot(nikotin,co)
plot(tjaere,co)
fit.n.ny=lm(co~nikotin)
summary(fit.n.ny)
fit.t.ny=lm(co~tjaere)
summary(fit.t.ny)
fit.nt.ny=lm(co~nikotin+tjaere)
summary(fit.nt.ny)
par(mfrow=c(2,2))
qqnorm(fit.t.ny$residuals)
plot(fit.t.ny$fitted.values,fit.t.ny$residuals)
plot(sigaretter.ny$tjaere,fit.t.ny$residuals)
plot(sigaretter.ny$nikotin,fit.t.ny$residuals)