Denne side tager udgangspunkt i et datasæt med bla. alder og bmd (knogletæthed).
Start med at indlæse data, og vise de første linjer
#indlæs først biblioteket til fremstilling af grafer
library(ggplot2,quietly=TRUE)
bmd <- dget("https://statepi.statnoter.dk/data/bmd2.robj")
head(bmd)
sex age bmd
2 1 54 0.991
4 2 73 0.822
5 1 56 1.173
6 2 61 0.930
7 2 56 0.824
8 1 65 0.842
Vi ønsker at lave et xy-plot der illustrerer sammenhængen mellem
alder og bmd, som jo begge er numeriske variable. Dette gøres med
ggplot-funktionen geom_point(), som vist herunder:
ggplot(data = bmd) +
geom_point(mapping = aes(x = age, y = bmd), size = 2)
Overvej hvad plottet viser, og prøv at finde ud af hvad parameteren
size=2 gør.
Tit er det relevant at kunne opdele en sådant plot efter en kategorisk variabel, f.eks. køn. Det kan gøres som vist her:
ggplot(data = bmd) +
geom_point(mapping = aes(x = age, y = bmd, color = sex), size = 1)
Kan du få øje på hvad det er der gør at data vises opdelt på køn? Overvej hvor let det er (når man ved det selvfølgelig :-))
Nedenstående viser en masse kode som kan benyttes til at få plottet til at se ud præcist som man ønsker. Prøv at lege med koden, og se om du kan forstå hvad den gør.
ggplot(data = bmd) +
geom_point(mapping = aes(x = age, y = bmd, color = sex), size = 1) +
#nedenstående linje benyttes til at styre farver, inkl. titler på etiketterne
scale_color_manual(name = "Køn", labels = c("Mænd", "Kvinder"),
breaks = c("1", "2"), values = c("blue", "red")) +
scale_x_continuous(name = "Alder/år") #og denne linje ændrer selvfølgelig x-aksen
Og hvis man kun ønsker at plotte en delmængde af punkterne (f.eks
mændene), så kan man naturligvis kombinere ovenstående med funktionen
subset() som vi har benyttet tidligere (så bliver
opdelingen mellem mænd og kvinder naturligvis irrelevant):
ggplot(data = subset(bmd, sex == 1)) + #bemærk hvordan det anvendte datasæt nu er erstattet af et delsæt
geom_point(mapping = aes(x = age, y = bmd), size = 1) +
scale_x_continuous(name = "Alder/Ã¥r") +
ggtitle(label = "Sammenhæng mellem alder og BMD", subtitle = "Mænd") #Laver en titel på grafen