R-hjelp til exercise 14 i BSS

 

 

# Les dataene inn i en dataramme, gi navn til variablene i datarammen og se p? dataene:

kreft<-read.table("http://www.math.uio.no/avdc/kurs/STK4900/data/cancer.dat")
names(kreft)<-c("alder","sig","pyr","cancer")
kreft

 

# Dataene i denne oppgaven er de samme som de som er gitt p? side 80 i BS.

# Men her er det gitt alder i stedet for alder-20. (Det er en trykkfeil i oppgaven n?r det

# der snakkes om "years of cigarette smoking" i stedet for alder.).

 

 

# Gj?r variablene i datarammen tilgjengelige:

attach(kreft)

 

 

# PUNKTENE 1 & 2)

 

# Vi ser f?rst p? modellen E(Y) = n*exp{b0+b1*s+b2*a}, der 
#????? Y=antall krefttilfeller (=cancer), 
#?????? n=antall person?r (= pyr),
# ??????s=antall sigaretter per dag (=sig)
#????? ?a = alder i ?r (=alder)
# Vi kan skrive modellen p? formen E(Y])= exp{1*log(n)+b0+b1*s+b2*a}.
# Alts? inng?r log(n) som en slags "kovariat" der vi vet at regresjonskoeffisienten har verdien 1. 
# Dette kalles en OFFSET.
# Vi tilpasser denne modellen og ser p? resultatet:
 
kreftfit.1<-glm(cancer~offset(log(pyr))+alder+sig, family=poisson)
summary(kreftfit.1)
 
# Pass p? at du forst?r outputen.
# Er det signifikant effekt av alder og antall sigaretter?
 
# Det er vanlig ? rapportere resultatene av en Poisson regresjon ved ?hjelp av 
# relativ risiko RR = exp(beta) samt konfidensintervall for relativ risiko. ?
# R gj?r ikke dette direkte og vi definerer derfor en funksjon som lager denne tabellen. 
# (Funksjonen kan ogs? brukes til ? lage tabeller over odds ratio OR for logistisk regresjon.)
# Kopier funksjonen og lim den inn i R:
RRCI<-function(glmobj)
{
? regtab<-summary(glmobj)$coef
? RR<-exp(regtab[,1])
? RRL<-RR*exp(-1.96*regtab[,2])
? RRU<-RR*exp(1.96*regtab[,2])
? cbind(RR,RRL,RRU)
}
 
 
# Bruk funksjonen til ? beregne relative risker for alder og antall sigaretter 
# (og rund av svarene til tre desimaler)
 
round(RRCI(kreftfit.1),3)
 

 

# Gi en fortokning av hva tabellen sier deg om effekten av alder og antall sigaretter

 

 

 

# PUNKT 3)

 

# Vi ser s? p? en modell med andreordens ledd og interaksjon:

kreftfit.3<-glm(cancer~offset(log(pyr))+ alder+I(alder^2)+sig+I(sig^2)+alder:sig, family=poisson)

 

# Reduser modellen ved ? fjerne (trinnvis) eventuelle ikke-signifikante kovarter.

# (Bruk Wald tester fra summary-kommandoen og/eller devianser fra anova-kommandoen.)

# Diskuter fortolkningen av den modellen du kommer fram til.

 

 

 

# TILLEGGSSP?RSM?L:

# Sigaretter og alder er oppgitt til ? ligge i intervaller. Vi kan derfor alternativt 
# oppfatte dem som kategoriske variable. En slik modell kan tilpasses med kommanoden
 
kreftfit.t<-glm(cancer~offset(log(pyr))+factor(alder)+factor(sig), family=poisson)

 

# Gi en fortolkning av denne modellen. (Bruk gjerne funksjonen RRCI.)

# Diskuter hvordan modellen kan brukes til ? avgj?re om den modellen du kom fram til

# i punkt 3 gir en rimelig god tilpassning til dataene.