Onsdag den 29. april 2020. Kl. 17.15-20.00
Zoom link: https://ucph-ku.zoom.us/j/69516885773?pwd=zOlIGd2cmQskaEpazAKERWV9bAQQUecO
Inden undervisningen:
Installer R og R studio. Følg instruktionerne om at installere fra hjemmesiderne eller læs i Appendiks A.
Desuden bør følgende pakker installeres: tidyverse
, rmarkdown
, isdals
og mlbench
. Det kan man gøre ved at køre følgende kommandoer i R
install.packages("tidyverse")
install.packages("isdals")
install.packages("mlbench")
install.packages("rmarkdown")
Læs kapitel 1-3 og Appendiks A fra lærebogen. Bemærk, at Appendiks A også giver en introduktion til R og giver instrukser omkring installationen af R og R Studio.
Som et alternativ til at læse sig til en intro til R i appendiks A kan man følge kurset “Introduction to R” på DataCamp. Husk at logge ind på DataCamp først gennem den invitation, du har fået i forbindelse med kursusstart. Dette kursus giver en oversigt over at bruge R.
Desuden kan man følge “Data Manipulation with R” også på DataCamp.
Bemærk, at det vigtigste er ikke at nå igennem alle lektioner i alle de ovennævnte kurser. Det vigtigste er, at man er nogenlunde fortrolig med at lave nogle simple ting i R. Resten tager vi til øvelserne.
Slides til dag 1 findes her. Desuden vil vi til øvelserne bruge rmarkdown
. Der findes en oversigt til rmarkdown
her, men det taler vi om, når vi mødes. Her er en kopi af den R-kode jeg kørte til øvelserne.
Øvelser: Øvelserne kan tages lidt i den rækkefølge, som man ønsker det, og hvad man føler sig fortrolig med. Øvelsesnumrene henviser til øvelserne i bogen (kapitel + opgavenummer). Løsningskommentarer til R-delen af opgaverne kan ses her
Fra appendiks A:
morbarn
kan hentes ved hjælp af kommandoenload(url("http://biostatistics.dk/puff/data/morbarn.rda"))
. Dette giver en data.frame
med navnet morbarn
. Løs resten af opgave A.4 fra noterne (det vil sige spørgsmål A-D).Fra kapitel 2:
Endelig:
morbarn
-datasættet indlæst ovenfor.Torsdag den 7. maj 2020. Kl. 17.15-20.00
Zoom link: https://ucph-ku.zoom.us/j/68362701755
Inden undervisningen:
rmarkdown
så du kan fortsætte med at bruge det fremadrettet.Slides kan findes her
Øvelser: Øvelserne kan tages lidt i den rækkefølge, som man ønsker det, og hvad man føler sig fortrolig med.
Gennemsnitshøjden for danske mænd kan antages at være normalfordelt med middelværdi 179.1 cm og spredningen 6.6 cm.
Figur 3.4 påstår, at ca. 68% af sandsynlighedsmassen for en normalfordelt variabel ligger indenfor \(\pm1\) spredning, ca. 95% ligger indenfor \(\pm2\) spredninger og ca. 99.7% ligger indenfor \(\pm3\) spredninger. Vi viste i teksten, at de ca. 95% passede for \(\pm2\) spredninger. Vis på tilsvarende måde, at de andre to egenskaber også passer.
Hvis en artikel afrapporterer en \(p\)-værdi som \(p=0.031\) for en bestemt analyse, hvor man ønsker at undersøge, om det gennemsnitlige niveau for to grupper er ens, så betyder det (under forudsætning af at forfatteren benytter et signifikansniveau på 0.01), at
I denne opgave skal vi undersøge sammenhængen mellem lungekapacitet, FEV, (forced expiratory volume) og alder for børn. Datasættet findes i pakken stat4med
og hedder fev
. Data kan indlæses ved at køre
library("stat4med")
data(fev)
hvilket giver adgang til et datasæt kaldet fev
. Hvis du ikke kan få stat4med
til at installere, så kan datasættet hentes direkte fra nettet ved hjælp af ordren
fev <- read.csv(url("http://biostatistics.dk/puff/data/fev.csv"), header=TRUE)
FEV
overfor Age
.FEV
overfor Age
ved hjælp af funktionen lm()
.confint()
på resultatet af lm()
til at få beregnet et 95% konfidensintervaller for de to parametre.summary()
på modellen og se på kolonnen Pr(>|t|)
, som indeholder to p-værdier – én for hver estimeret parameter. En p-værdi er resultatet af et hypotesetest og hører derfor altid sammen med en nulhypotese. Hvad er det for to nulhypoteser, som RStudio automatisk har testet for os i outputtet?I denne opgave vil vi gerne beskrive niveauet af hormonet AMH (højt niveau af dette afspejler mange umodne follikler i æggestokkene, og dermed høj fertilitet) og dets afhængighed af kvinders alder.
Data ligger i datasættet amhmini
, der kan hentes via load(url("http://biostatistics.dk/puff/data/amhmini.rda"))
. Datasættet indeholder to variable: alder
(målt i år) og amh
(målt i pmol/l).
Analyser data.
Tirsdag den 12. maj 2020. Kl. 17.15-20.00
Inden undervisningen:
Slides Slides til dag 3 ligger her. Og en kopi af den R-kode, der blev kørt til øvelserne.
Øvelser:
I denne opgave skal vi undersøge sammenhængen mellem lungekapacitet, FEV, (forced expiratory volume) og rygning. Datasættet findes i biblioteket isdals
og hedder fev
. Data kan indlæses ved at køre
library("stat4med")
data(fev)
hvorefter datasættet fev
er tilgængeligt.
FEV
afhænger af, hvorvidt børnene ryger. Giv en fortolkning af estimaterne fra modellen, og formuler din konklusion i ord. Stemmer resultatet overens med hvad du ville forvente?Age
til modellen fra foregående spørgsmål og få R til at estimere parametrene. Hvordan ændrer parametrene sig i forhold til før og hvorfor?I denne opgave vil vi gerne beskrive niveauet af hormonet AMH (højt niveau af dette hormon afspejler mange umodne follikler i æggestokkene, og dermed høj fertilitet). Den primære hypotese er at se på afhængigheden af alder, samt effekten af, hvorvidt kvinden indtager P-piller.
Datasættet amh
, der kan hentes via load(url("http://biostatistics.dk/puff/data/amh.rda"))
. Datasættet indeholder fem variable: alder
(målt i år), amh
(målt i pmol/l), ppiller
(tager kvinden p-piller, 0=nej, 1=ja), rygning
(ryger kvinden, 0=nej, 1=ja), og bmi
i tre grupper (undervægtige, normalvægtige og overvægtige).
Analyser data.
Onsdag den 20. maj 2020. Kl. 17.15-20.00
Zoom link
Inden undervisningen:
Der er ikke noget at læse, da analyse af andele (proportioner eller brøkdele) er et specialtilfælde af regressionsanalyse. Se bare videoerne nedenfor.
Der er ikke nogle DataCamp-kurser, der passer fint på emnerne til denne uge. I stedet bør I se følgende 4 videoer (ca. 10 minutter hver):
Test for en enkelt categorisk stikprøve
Introduktion til risiko, relativ risiko, og odds ratio. For en grundigere gennemgang “i hånden” uden R kan man se denne video.
Desuden er det også værd at læse følgende korte introduktion til analyse an kontingenstabeller i R
Slides Kan hentes her. Med kopi af den R-kode, der blev kørt til øvelserne.
Øvelser:
På en hospitalsafdeling vil man gerne forbedre ventetiden, og man lavede derfor en undersøgelse for at belyse, hvor mange patienter, der skulle måtte vente mere end 3 uger på at få tid til behandlingen. Ud af 80 adspurgte var der 50 patienter, der måtte vente længere end 3 uger.
prop.test()
]I et forsøg blev det undersøgt om gravide kvinders alder påvirker risikoen for spontan abort. Efter at der (fx ved ultralyd) er påvist et levende foster er prognosen god, og nedenstående \(2 \times 2\)-optællingstabel viser resultatet fra en undersøgelse:
Spontan abort: ja | Spontan abort: nej | |
---|---|---|
Mødre over 40 år | 21 | 255 |
Mødre under 30 år | 70 | 3825 |
Besvar følgende spørgsmål:
fisher.test()
til at få R til at udregne odds-ratioen og det tilhørende 95% konfidensinterval. Hvad konkluderer du ud fra konfidensintervallet? Sammenlign med konklusionen i spørgsmål C.Man er interesseret i at undersøge, om der er samme fordeling af brugen af rehabilitering for hjertepatienter i de fem danske regioner.
En del af data om typen af rehabilitering fremgår af denne \(5 \times 3\)-optællingstabel. Bemærk, at i dette tilfælde har den afhængige variabel (regioner) 5 kategorier, mens den afhængige variabel er kategorisk med 3 kategorier.
Region | Fuld/delvis | Begrænset | Ikke deltaget |
---|---|---|---|
Hovedstaden | 547 | 395 | 251 |
Midtjylland | 458 | 304 | 212 |
Syddanmark | 552 | 261 | 165 |
Nordjylland | 236 | 117 | 80 |
Sjælland | 365 | 301 | 127 |
Besvar følgende spørgsmål:
Vi har en hængeparti med opgave 2 fra sidste undervisningsgang. Den skal vi lave her (hvis vi overhovedet får tid).
Mandag den 25. maj 2020. Kl. 17.15-20.00
Datasættet Titanic
er allerede installeret med R og man kan få adgang til det ved at kalde nedenstående kode. Data er gemt i et lidt sjovt format, og vi bliver nødt til at bruge funktionen expand_table()
fra pakken MESS
til at konvertere det til en data frame.
data(Titanic) # Få adgang til data
library("MESS") # Hent pakke med expand_table
titanic <- expand_table(Titanic) # Konverter data
Datasættet titanic
indeholder nu følgende 4 kategoriske variable: Survived
, Age
, Class
og Sex
. Vi er interesseret i at undersøge, hvorledes overlevelsessandsynligheden afhænger af passagerens alder, køn og klasse.
prop.test()
eller binom.test()
]Et endnu mere detaljeret datasæt om passagererne på Titanic kan findes i pakken titanic
, hvis man gerne vil analysere disse data mere.
I pakken MASS
ligger datasættet birthwt
, der indeholder informationer omkring 189 kvinder, der netop har født. Man er interesseret i at undersøge, hvilke faktorer, der kunne være associeret til at barnet får lav fødselsvægt. Lav fødselsvægt er her defineret ved at barnet vejede mindre end 2500 gram.
library("MASS") # Hent den relevante pakke
data(birthwt) # Hent datasættet
Vi vil her udelukkende beskæftige os med moderens alder (age
), hvorvidt hun røg under graviditeten (smoke
) og om barnet havde lav fødselsvægt (low
).
low
på \(y\)-aksen og variablen age
på \(x\)-aksen. Hvad ser du ud fra plottet?Vores hængepartier fra sidste og forrige gang