I forbindelse med lineære modeller vælger man ofte at illustrere
resultatet af beregningerne i et såkaldt effektplot. I R kan
det laves vha. udvidelsespakken “jtools”, som du først skal installere
med install.packages("jtools")
#indlæs data igen, og gentag beregningen fra forrige side
df_sugar <- dget("https://statepi.statnoter.dk/data/sugar.robj")
model_sugar <- lm(formula = BMI ~ sugar, data = df_sugar)
Forrige side forholdt sig spørgsmålet om størrelsen af sammenhæng mellem prediktor-variablen (sukker) og udfaldet (BMI), herunder om sammenhængen er statistisk signifikant (forskellig fra nul). Imidlertid kan tal være svære at overskue - f.eks. er det ikke nødvendigvis klart om dem der benytter sukker har højere eller lavere BMI end dem der ikke gør. Derfor vil det ofte være en fordel at supplere de talbaserede dataanalyser med en eller flere grafiske afbildninger af data eller modellen (eller begge dele).
Ud over at grafiske afbildninger kan bidrage til at vurdere størrelsen af en eventuel effekt, er de relevante fordi de (korrekt anvendt) kan bidrage til at afsløre tendenser i tallene som ikke fremgår af simple associationsmål.
R giver heldigvis gode muligheder for at lave grafiske afbildninger af de modeller man tester. I eksemplet fra de foregående sider, kan man bla. lave et såkaldt effekt-plot, som vist her:
#indlæs pakken jtools
library(jtools)
#pred angiver den variabel man ønsker på x-aksen (bemærk den skal skrives i anførselstegn)
#model skal være en lineær model, defineret med funktionen lm
effect_plot(model = model_sugar, pred = "sugar", cat.interval.geom = "line")
cat.interval.geom = "line" kan evt. udelades. Funktionen
effect_plot() genererer et standard ggplot, så vi kan
benytte de muligheder vi tidligere har kigget på, for f.eks. at
skræddersy akserne i plottet.
De to prikker markerer naturligvis middelværdien af BMI for de to grupper. De lodrette streger viser konfidensintervaller for middel-BMI for dem der ikke benytter sukker, hhv. dem der benytter sukker.
Man kan bemærke at konfidensgrænsen er smallere omkring sugar = 0 end omkring sugar = 1. Dette skyldes at datasættet indeholder 400 personer med sugar = 0, mens der kun er 200 med sugar = 1 (husk tilbage til formlen for beregning af konfidensintervallet for en middelværdi, som bør være gennemgået på et grundlæggende statistikkursus - ellers spørg). Hvis man gerne vil tjekke antallet af deltagere fordelt på sugar = 0 og sugar = 1, så kan det gøres som tidligere (side 1.5 om kontingenstabeller):
xtabs(formula = ~sugar, data = df_sugar)
sugar
0 1
400 200
Først kan man bemærke at det ikke er muligt at tegne en vandret linje indenfor de lodrette streger. Dette betyder at der nødvendigvis er forskel i BMI hos de to grupper - i overensstemmelse med konklusionen fra beregningerne. Men derudover afslører plottet det (måske) overraskende at BMI er lavere hos dem der bruger sukker end hos dem der ikke bruger sukker. Dette har vi set før, i forbindelse med beregning af konfidensintervallet. Men med konfidensintervallet er det let at blive usikker på om et negativt fortegn nu betyder at BMI er højest hos dem der bruger sukker, eller hos dem der ikke bruger sukker. Med effektplottet er man ikke i tvivl.
Dette plot giver altså umiddelbart al relevant information omkring størrelse og retning af effekten.
Herefter vil man naturligvis begynde at overveje årsager til den observerede effekt. Og her er det i første omgang vigtigt at gentage, at fordi man har påvist en sammenhæng mellem sukker og BMI, er det ikke ensbetydende med en kausal sammenhæng - dvs. man kan ikke (alene ud fra dette forsøg) konkludere at folk der begynder at bruge sukker i kaffen vil tabe sig. En forklaring kunne f.eks. være såkaldt “omvendt kausalitet” - at det faktisk er BMI som påvirker sukkervanerne: Folk med et højt BMI undlader måske at bruge sukker i kaffen?