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.