ggplot er besta leiðin til að búa til myndrit í R og jafnvel bara almennt í tölfræði í dag. Ég mæli með að öll hér læri á það. Til að nota ggplot er nóg að hafa tidyverse pakkann installaðan með install.packages('tidyverse') og kalla svo á hann með library(tidyverse)
library(tidyverse);
ptrust <- read.table('ptrust.txt', row.names = 1) %>% # Lesa inn gögn
select(trstplc, age, eduyrs, hinctnt,
lrscale, rlgdgr, socialtrust, gndr) %>% # Velja breytur
na.omit() # Henda burt óheilum gögnum
Þegar þið sjáið %>% þýðir það að ég er að taka gögnin á undan þessu og nota þau sem input í fallið hægra megin við þetta. t.d.
c(1, 3, 5, 7) %>%
mean()
## [1] 4
# er það sama og
mean(c(1, 3, 5, 7))
## [1] 4
Þetta gaf mér meðaltalið af vigrinum fyrir ofan, en ég þurfti ekki að skrifa hann allan aftur! Sparar tíma og er auðlesanlegt þegar maður áttar sig á þessu. Prófiði að æfa ykkur að nota þetta.
ptrust <- ptrust %>% # taka ptrust gagnarammann
mutate(gndr = factor(gndr)) # breyta gndr í factor
# Mutate er hluti af tidyverse og er fallegri leið til að eiga við breytu inní gagnaramma
Núna er komið að plottun. ggplot() fallið teiknar ekki neitt. Það býr til myndaramma sem þú notar önnur föll til að teikna í. Maður bætur við teikningum með +. Öll ggplot teikniföllum heita geom_eitthvað(), t.d. geom_boxplot(), geom_points(), geom_histogram()
ggplot() gerir ekki neittggplot() + geom_point() bætir við punktumggplot() + geom_boxplot() gerir kassarit.ggplot tekur nokkur input.
data = ? ? er gagnarammin sem þið eruð að vinna meðmapping = ? þetta er hvaða breytur þið viljið teikna og hvernig þær tengjast. þið bætið við mapping með aes() fallinu, sem er stytting á aesthetic.mapping = aes(x = age, y = trstplc) setur age á x-ás og trstpls á y-ás.ggplot(data = ptrust,
mapping = aes(x = age, y = trstplc)) + # takið eftur plúsinum
geom_point() # þetta gerir punkta
Það frábæra við ggplot er hvað aes() getur gert flottar mynd.
mapping = aes(x = age, y = trstplc, color = gndr) litar punktana eftr því af hvaða kyni manneskja er.ggplot(data = ptrust,
mapping = aes(x = age, y = trstplc, color = gndr)) +
geom_point()
Til að teikna aðfallslínu notum við geom_smooth(). Það er hægt að teikna nokkurs konar línur en við erum aðallega spennt fyrir línur úr línulegri aðfallsgreiningu. Til þess að fá þær gerum við:
geom_smooth(method = 'lm') lm eins og í linear model.ggplot(ptrust,
mapping= aes(x = age, y = trstplc, color = gndr)) +
geom_point() +
geom_smooth(method = 'lm')
Þetta gráa þarna uppi eru öryggisbilin. Stundum er fínt að hafa þau en við viljum þau ekki núna. þá gerum við:
geom_smooth(method = 'lm', se = FALSE) se eins og standard errorvið erum þá komin með lokaplottið okkar:
ggplot(ptrust,
mapping= aes(x = age, y = trstplc, color = gndr)) +
geom_point() +
geom_smooth(method = 'lm', se = FALSE)
Ef þið hafið áhuga á ggplot getiði þið skoðað ggplot svindlblaðið frá rstudio: GG Plot Cheat-Sheet
Þegar þið eruð að nota nýtt fall er góður vani að skoða hjálpina með því að skrifa help(ggplot) eða ?ggplot. ?geom_point virkar líka
Heiða gerði líka fínt plagg fyrir byrjendur í ggplot: