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)