Mål og forberedelser
I Arbeidsbok 4: Visualisering av data med ggplot introduseres ggplot2
. I denne arbeidsboken skal vi se videre på ulike funksjoner og argumenter i ggplot2
som kan brukes til å tilpasse utseendet til grafene du lager. Dette er kan være veldig nytte for å få grafene du lager til å se ut akkurat slik som du ønsker og for å gjøre innholdet tydelig.
Oppgavesett 1
Før du begynner å jobbe med dette oppgavesettet, er det lurt å ha gått igjennom alle kapitlene i arbeidsboken.
Hvis du sitter fast på en oppgave, er det lurt å trykke på “Hint” eller “Solution” i oppgaveboksen.
Laste inn datasett og lagre datasett
I dette oppgavesettet skal vi bruke et datasett som inneholder data som ser på sammenhengen mellom økonomisk vekst og hvor stor støtte kandidaten til det sittende partiet får ved det Amerikanske presidentvalget. Datasettet heter EcoData.rds
. Datasettet har 36 observasjoner og det inneholder 5 variabler:
year
: året observasjonene er hentet fra (kontinuerlig)growth
: økonomisk vekst (kontinuerlig)inc_vote
: hvor mange prosent av stemmene kandidaten til det sittende partiet fikk (kontinuerlig)
Last inn EcoData.rds
med readRDS()
og kall datasettet datasett
ved hjelp av assignerpilen (<-
).
datasett <- readRDS("EcoData.rds")
# Husk å skrive hermetegn rundt datasettet.
save()
og kall filen “minedata.RData”.
save(datasett, file = "minedata.RData")
# Formatet til koden uten filnavnet:
save(datasett, file = "")
Matematisk omkoding
Før vi begynner med å omkode variabler er det greit å få en oversikt over over dataene vi jobber med.
Bruk summary()
-funksjonen for å få en oversikt over den deskriptive statistikken til datasettet datasett
.
summary(datasett)
Bruk matematisk omkoding til å legge til en ny variabel i datasettet datasett
som viser antall år som er gått siden den første observasjonen. 1876 skal altså få verdien 0. Kall den nye variabelen year0
.
datasett$year0 <- datasett$year - 1876
# Husk å skrive navnet på den nye variabelen foran <- og så omkodingen av den gamle variabelen etter <-.
# Husk at du må skrive datasett$ foran variabelnavnene.
# For å kode om variabelen fra de opprinnelige årene til antall år som er gått siden den første observasjonen, trekk 1876 fra den gamle variabelen.
Omkoding med ifelse()
Bruk ifelse()
til å legge til en ny variabel i datasettet datasett
. Variabelen skal skille mellom år hvor det var positiv og negativ økonomisk vekst. År med verdier mindre enn 0 på variabelen growth
får verdien 0, og resten får verdien 1. Kall variabelen growth0
.
datasett$growth0 <- ifelse(datasett$growth < 0, 0, 1)
# Husk å skrive navnet på den nye variabelen ("datasett$growth0") foran <- og omkodingen med ifelse() bak <-.
# Husk at rekkfølgen i ifelse()-funksjonen er ifelse(logisk test, verdi hvis testen er sann, verdi hvis testen ikke er sann).
# For å få riktig svar i denne oppgaven, må den logiske testen være "datasett$growth < 0".
Subsetting av data
Lag et nytt datasett som bare inneholder variablene year0, growth0 og inc_vote. Bruk %>%
og select()
-funksjonen, og kall datasettet datasett2
.
datasett2 <- datasett %>% select(year0, growth0, inc_vote)
# Husk å skrive navnet på den nye datasettet ("datasett2") foran <-, og så koden for å lage et nytt datasett bak <-.
# Husk å skrive navnet på det opprinnelige datasettet ("datasett") foran %>% og select()-funksjonen etter %>%.
# For å få riktig svar i denne oppgaven, må variablene være i riktig rekkefølge i select()-funksjonen (year0, growth0, inc_vote).
Lag et nytt datasett som bare inneholder observasjoner med positiv økonomisk vekst. Bruk %>%
og filter()
-funksjonen til å filtere på variabelen growth0
, og kall datasettet datasett3
.
datasett3 <- datasett %>% filter(growth0 == 1)
# Husk å skrive navnet på den nye datasettet ("datasett3") foran <-, og så koden for å lage et nytt datasett bak <-.
# Husk å skrive navnet på det opprinnelige datasettet ("datasett") foran %>% og filter()-funksjonen etter %>%.
# Observasjoner med positiv økonomisk vekst (growth0) har verdien 1. Husk at for å fortelle R at du skal ha med disse verdiene må du skrive "==" i filter()-funksjonen.
Plotting med ggplot2
Lag et stolpediagram som viser fordeling til variabelen growth0
i datasettet datasett
. Bruk ggplot()
og geom_bar()
for å lage plottet.
ggplot(data = datasett, aes(x = growth0)) + geom_bar()
# Formatet til koden uten datasett og variabler:
ggplot(data = , aes(x = )) + geom_bar()
Lag et histogram som viser fordelingen til variabelen growth
i datasettet datasett
. Bruk ggplot()
og geom_histogram()
for å lage plottet.
ggplot(data = datasett, aes(x = growth)) + geom_histogram()
# Formatet til koden uten datasett og variabler:
ggplot(data = , aes(x = )) + geom_histogram()
Endre på dette histogrammet ved å legge til argumentet binwidth
i geom_histogram.
Sett binwidth
til 5.
ggplot(datasett, aes(x = growth)) + geom_histogram()
ggplot(datasett, aes(x = growth)) + geom_histogram(binwidth = 5)
# Her skal binwidth-argumentet legges til i geom_histogram().
Lag et boksplott som viser spredningen til variabelen inc_vote
i datasettet datasett
. Bruk ggplot()
og geom_boxplot()
for å lage plottet. Spesifiser at inc_vote
skal være på y-aksen.
ggplot(datasett, aes(y = inc_vote)) + geom_boxplot()
# Formatet til koden uten datasett og variabler:
ggplot(data = , aes(y = )) + geom_boxplot()
Lag et tetthetsplott som viser fordelingen til variabelen inc_vote
i datasettet datasett
på x-aksen. Bruk ggplot()
og geom_density
for å lage plottet.
ggplot(datasett, aes(x = inc_vote)) + geom_density()
# Formatet til koden uten datasett og variabler:
ggplot(data = , aes(x = )) + geom_density()
Lag et spredningsplott med variabelen growth
i datasettet datasett
på y-aksen og variabelen inc_vote
på x-aksen. Bruk ggplot()
og geom_point()
for å lage plottet.
ggplot(datasett, aes(x = inc_vote, y = growth)) + geom_point()
# Formatet til koden uten datasett og variabler:
ggplot(data = , aes(x = , y = )) + geom_point()
Lagring av plott
Skriv koden som du ville brukt for å lagre det siste plottet du har laget i R. Bruk ggsave()
til å lagre et plott som en pdf-fil du kaller “Spredningsplott.pdf”.
ggsave(filename = "Spredningsplott.pdf")
# Formatet til koden uten filnavnet:
ggsave(filname = "")
Oppgavesett 2
Laste inn og lagre datasett
Datasettet vi skal jobbe med i dette oppgavesettet heter FairFPSR3.rds
. Datasettet har 36 observasjoner (år) og det inneholder 5 variabler:
inc_vote
: hvor mange prosent av stemmene det sittende partiet fikk (kontinuerlig)year
: året observasjonene er hentet fra (kontinuerlig)inflation
: inflasjon sammenlignet med foregående periode (kontinuerlig)goodnews
: hvor gode nyhetene var dette året (kategorisk)growth
: økonomisk vekst sammenlignet med foregående periode (kontinuerlig)
Last inn datasettet FairFPSR3.rds
med readRDS()
og gi det navnet ds
. Skriv koden du ville brukt dersom datasettet var lagret i working directory-et ditt.
ds <- readRDS("FairFPSR3.rds")
# Husk å skrive hermetegn rundt datasettet.
Lagre datasettet med save()
-funksjonen og kall filen “datasett.RData”. Bruk så load()
-funksjonen til å laste det inn igjen.
save(data, file = "datasett.RData")
load("datasett.RData")
# Her skriver du inn to linjer med kode: først en linje med save() og så en med load().
# Formatet til save()- og load()-funksjonene uten filnavnet:
save(ds, file = "")
load("")
Matematisk omkoding
Bruk summary()
-funksjonen for å få en bedre oversikt over datasettet ds
.
summary(ds)
Bruk matematisk omkoding til å kode om variabelen inc_vote
slik at prosentandelen som stemte på det sittende partiet vises som desimaltall. F.eks. 0.5 istedenfor 50. Legg variabelen til i datasettet ds
og kall den newvote
.
ds$newvote <- ds$inc_vote/100
# Husk å skrive navnet på den nye variabelen foran <- og så omkodingen av den gamle variabelen etter <-.
# Husk at du må skrive ds$ foran variabelnavnene.
# For å kode om variabelen fra prosentandelen til desimaltall, del den gamle variabelen på 100.
Sjekk at omkodingen av inc_vote
til newvote
er gjort riktig med table()
-funksjonen.
table(ds$newvote == ds$inc_vote/100)
# Bruk table()-funksjonen til å sjekke at ds$newvote er det samme som ds$inc_vote delt på 100.
# Når man skal skrive at noe er lik noe annet i table()-funksjonen må man skrive "==".
Omkoding med ifelse()
Bruk ifelse()
til å lage en variabel hvor observasjoner med økonomisk vekst (variabelen growth
) som er under gjennomsnittet får verdien 0 og observasjoner med økonomisk vekst som er lik eller over gjennomsnittet får verdien 1. Kall den nye variabelen new_growth
og legg den til i datasettet ds
.
ds$new_growth <- ifelse(dds$growth >= mean(ds$growth), 1, 0)
# Husk å skrive navnet på den nye variabelen ("ds$new_growth") foran <-, og så ifelse() etter <-.
# Når man skal skrive at noe er lik eller større noe annet så skriver man ">=".
# Husk at rekkfølgen i ifelse()-funksjonen er ifelse(logisk test, verdi hvis testen er sann, verdi hvis testen ikke er sann).
Bruk table()
-funksjonen på variabelen new_growth
for å få en oversikt over hvor mange observasjoner som har økonomisk vekst som er under gjennomsnittet og hvor mange observasjoner med økonomisk vekst som er lik eller over gjennomsnittet.
table(ds$new_growth)
Subsetting av data
Lag et nytt datasett som bare inneholder variablene year
, newvote
og new_growth
. Bruk %>%
ogselect()
-funksjonen. Kall datasettet data2
.
data2 <- ds %>% select(year, newvote, new_growth)
# I denne oppgaven er det viktig at du skriver variablene i riktig rekkefølge inne i select() for at du skal få riktig svar. Ellers vil du kunne skrive variablene i den rekkefølgen du vil.
# Husk å bruke %>% mellom "ds" og select.
# Husk å skrive data2 helt først etterfulgt av <- for å lage et nytt datasett.
Lag et nytt datasett som bare inneholder observasjoner fra og med 1960 med positiv økonomisk vekst (verdi 1 på variabelen new_growth)
. Bruk %>%
og filter()
-funksjonen. Kall datasettet “data3”.
data3 <- ds %>% filter(year >= 1960,
new_growth == 1)
# I denne oppgaven er det viktig at du skriver variablene i riktig rekkefølge inne i filter() for at du skal få riktig svar. Ellers vil du kunne skrive variablene i den rekkefølgen du vil.
# Husk å bruke %>% mellom data og filter. Husk å skrive >= for er lik og større enn, og == for er lik.
# Husk å skrive data3 helt først etterfulgt av <- for å lage et nytt datasett.
Plotting med ggplot2
Lag et stolpediagram som viser fordelingen til variabelen goodnews
i datasettet ds
. Bruk ggplot()
og geom_bar()
for å lage plottet. Legg til tittelen “Fordelingen til goodnews”. Gi x-aksen navnet “Gode nyheter” og y-aksen “Antall observasjoner”. Bruk labs()
for å gjøre dette.
ggplot(data = ds, aes(x = goodnews)) + geom_bar() + labs(title = "Fordelingen til goodnews", x = "Gode nyheter", y = "Antall observasjoner")
# I denne oppgaven er det viktig at du skriver alle elementene i riktig rekkefølge for å riktig svar.
# Formatet til koden uten data, variabler og tekst:
ggplot(data =, aes(x = )) + geom_bar() + labs(title = "", x = "", y = "")
Lag et histogram som viser fordelingen til variabelen inc_vote
i datasettet ds
. Bruk ggplot()
og geom_histogram()
for å lage plottet. Sett binwidth til 4. Legg til tittelen “Fordelingen til inc_vote”. Gi x-aksen navnet “% støtte til sittende parti” og y-aksen “Antall observasjoner”. Bruk labs()
for å gjøre dette.
ggplot(data = ds, aes(x = inc_vote)) + geom_histogram(binwidth = 4) + labs(title = "Fordelingen til inc_vote", x = "% støtte til sittende parti", y = "Antall observasjoner")
# I denne oppgaven er det viktig at du skriver alle elementene i samme rekkefølge som i oppgaven for å riktig svar.
# Formatet til koden uten data, variabler, tall og tekst:
ggplot(data = , aes(x = )) + geom_histogram(binwidth = ) + labs(title = "", x = "", y = "")
Lag et boksplott som viser spredningen til inc_vote
. Bruk ggplot()
og geom_boxplot()
til å lage plottet. Ha inc_vote
på y-aksen. Legg til tittelen “Fordelingen til inc_vote”. Gi x-aksen navnet “inc_vote” og y-aksen “% støtte til sittende parti”. Bruk labs()
for å gjøre dette.
ggplot(data = ds, aes(y = inc_vote)) + geom_boxplot() + labs(title = "Fordelingen til inc_vote", x = "inc_vote", y = "% støtte til sittende parti")
# I denne oppgaven er det viktig at du skriver alle elementene i riktig rekkefølge for å riktig svar.
# Formatet til koden uten variabler og tekst:
ggplot(data = , aes(y = )) + geom_boxplot() + labs(title = "", x = "", y = "")
Lag et tetthetsplott som viser fordelingen til growth
. Bruk ggplot()
og geom_density()
for å lage plottet. Legg til tittelen “Fordelingen til growth”. Gi x-aksen navnet “Økonomisk vekst” og y-aksen “Tetthet”. Bruk labs()
for å gjøre dette.
ggplot(data = ds, aes(x = growth)) + geom_density() + labs(title = "Fordelingen til growth", x = "Økonomisk vekst", y = "Tetthet")
# I denne oppgaven er det viktig at du skriver alle elementene i riktig rekkefølge for å riktig svar.
# Formatet til koden uten variabler og tekst:
ggplot(data = , aes(x = )) + geom_density() + labs(title = "", x = "", y = "")
Lag et spredningsplott med inflation
på x-aksen og growth
på y-aksen. Bruk ggplot()
og geom_point()
for å lage plottet. Legg til tittelen “Spredningsplott mellom inflation og growth”. Gi x-aksen navnet “Inflasjon” og y-aksen “Økonomisk vekst”. Bruk labs()
for å gjøre dette.
ggplot(data = ds, aes(x = inflation, y = growth)) + geom_point() + labs(title = "Spredningsplott mellom inflation og growth", x = "Inflasjon", y = "Økonomisk vekst")
# I denne oppgaven er det viktig at du skriver alle elementene i riktig rekkefølge for å riktig svar.
# Formatet til koden uten variabler og tekst:
ggplot(data = , aes(x = , y = )) + geom_point() + labs(title = "", x = "", y = "")
Lagring av plott
Skriv koden som du ville brukt for å lagre det siste plottet du har laget i R. Bruk ggsave()
til å lagre et plott som en png-fil du kaller “Spredningsplott.png”.
ggsave(filename = "Spredningsplott.png")
grade_code()
## function (check_env)
## {
## if (is.list(check_env)) {
## check_env <- list2env(check_env)
## }
## user_code <- check_env$.user_code
## if (is.null(user_code)) {
## return(legacy_graded(correct = FALSE, message = "I didn't receive your code. Did you write any?"))
## }
## solution_code_all <- check_env$.solution_code_all
## if (is.null(solution_code_all) || length(str2expression(solution_code_all)) ==
## 0) {
## solution_code_all <- solutions_prepare(check_env$.solution_code)
## }
## if (is.null(solution_code_all) || length(str2expression(solution_code_all)) ==
## 0) {
## return(legacy_graded(correct = FALSE, message = "No exercise solution provided. Defaulting to _incorrect_."))
## }
## message <- code_feedback(user_code = user_code, solution_code = solution_code_all,
## env = check_env, allow_partial_matching = allow_partial_matching)
## if (is.null(message)) {
## return(legacy_graded(correct = TRUE, message = glue_message(glue_correct %||%
## gradethis_legacy_options$gradethis.glue_correct,
## .is_correct = TRUE, .message = NULL, .correct = correct,
## .user_code = user_code)))
## }
## message <- glue_message(glue_incorrect %||% gradethis_legacy_options$gradethis.glue_incorrect,
## .is_correct = FALSE, .message = message, .incorrect = incorrect,
## .user_code = user_code)
## legacy_graded(correct = FALSE, message = message)
## }
## <bytecode: 0x94b9db0>
## <environment: 0x94bb0c8>
# Husk å skriv navnet til filen i hermetegn og ta med ".png".
# Formatet til koden uten filnavnet:
ggsave(filename = "")
Oppgavesett 3
Laste inn og lagre data
Datasettet vi skal jobbe med i dette oppgavesettet heter FairFPSR3.rds
. Det er det samme datasettet vi brukte i Oppgavesett 2. Datasettet har 36 observasjoner (år) og det inneholder 5 variabler:
inc_vote
: hvor mange prosent av stemmene det sittende partiet fikk (kontinuerlig)year
: året observasjonene er hentet fra (kontinuerlig)inflation
: inflasjon sammenlignet med foregående periode (kontinuerlig)goodnews
: hvor gode nyhetene var dette året (kategorisk)growth
: økonomisk vekst sammenlignet med foregående periode (kontinuerlig)
Last inn datasettet FairFPSR3.rds
med readRDS()
og gi det navnet ds
. Skriv koden du ville brukt dersom datasettet var lagret i working directory-et ditt.
ds <- readRDS("FairFPSR3.rds")
# Husk å skrive hermetegn rundt datasettet.
Lagre datasettet med save()
-funksjonen og kall filen “datasett.RData”. Bruk så load()
-funksjonen til å laste det inn igjen.
save(data, file = "datasett.RData")
load("datasett.RData")
# Her skriver du inn to linjer med kode: først en linje med save() og så en med load().
# Formatet til save()- og load()-funksjonene uten filnavnet:
save(data, file = "")
load("")
Matematisk omkoding
Bruk summary()
-funksjonen til å få en oversikt over variabelen goodnews
i datasettet ds
.
summary(ds$goodnews)
# Husk at du må skrive "ds$goodnews" for at R skal finne variabelen, og ikke bare "goodnews".
Bruk matematisk omkoding til å kode om goodnews
slik rekkefølgen på verdiene blir snudd motsatt vei. 0 får altså verdien 10, og 10 får verdien 0. Kall den nye variabelen news_ny
og legg den til i datasettet ds
.
ds$news_ny <- ds$goodnews*-1+10
# Husk å skrive navnet på den nye variabelen foran <- og så omkodingen av den gamle variabelen etter <-.
# Husk at du må skrive ds$ foran variabelnavnene.
# For å snu på rekkefølgen til verdiene til variabelen, gang den gamle variabelen med -1 og så legg til 10.
Sjekk at omkodingen din har blitt riktig ved å sammenligne variablene news_ny
og goodnews
ved hjelp av table()
-funksjonen.
table(ds$news_ny, ds$goodnews)
# For å få riktig svar på denne oppgaven må du den nye variabelen først og så den gamle.
# Husk at du må skrive ds$ foran variabelnavnene.
Omkoding med ifelse()
- A. Bruk
ifelse()
til å lage en variabel hvor observasjoner med verdien 0 på variabelengoodnews
får verdien 1, observasjoner med verdien 10 på variabelengoodnews
får verdien 3, og resten av observasjonene får verdien 2. Kall den nye variabelengoodnews3
og legg den til i datasettetds
. - B. Gjør så
goodnews3
om til en faktor fra en numerisk variabel i neste linje. Brukas.factor()
-funksjonen til å gjøre dette.
ds$goodnews3 <- ifelse(ds$goodnews == 0, 1, ifelse(ds$goodnews == 10, 3, 2))
# Husk å skrive navnet på den nye variabelen ("ds$goodnews3") foran <-, og så ifelse() etter <-.
# Husk at rekkfølgen i ifelse()-funksjonen er ifelse(logisk test, verdi hvis testen er sann, verdi hvis testen ikke er sann).
# Man kan ha legge til flere ifelse()-funksjoner innad i en ifelse(). Dette gjør man ved å legge til en ny ifelse() der man ellers ville skrevet verdien enheter skal få hvis den logiske testen ikke er sann. F.eks. ifelse(ds$variabel == "stemt", 1, ifelse(ds$variabel == "ikke stemt", 0, 2)).
ds$goodnews3 <- as.factor(ds$goodnews3)
# Husk å skrive navnet på den nye variabelen ("ds$goodnews3") foran <-, og så as.factor() etter <-.
Sjekk at omkodingen i forrige oppgave har blitt riktig. Bruk table()
-funksjonen til å sammenligne variablene goodnews
og goodnews3
i datasettet ds
.
table(ds$goodnews, ds$goodnews3)
# Husk å skrive ds$ foran variabelnavnene, ellers vil ikke R vite hvor den skal hente variablene fra.
# For å få riktig svar i denne oppgaven må du skrive ds$goodnews først og så ds$goodnews3.
Subsetting av data
Lag et nytt datasett som bare inneholder observasjoner med positiv økonomisk vekst. Her må altså verdien på variabelen growth
i datasettet ds
være større enn 0. Datasettet skal også kun inneholde variablene inflation
og year
. Bruk først filter()
-funksjonen etterfulgt av %>%
, og så select()
-funksjonen. Kall det nye datasettet data_ny
.
data_ny <- ds %>% filter(growth > 0) %>% select(inflation, year)
# Når lager nye datasett og skal bruke flere funksjoner sammen, er det veldig viktig at de kommer i riktig rekkefølge. I denne oppgaven kommer først filter() og så select().
# Husk å skrive navnet på det nye datasettet før <- og husk å bruke %>% mellom de ulike operasjonene etter <-.
# For å få riktig svar i denne oppgaven må du skrive inflation og så year i select().
# Formatet til koden uten variablene og tall:
data_ny <- ds %>% filter() %>% select()
I den forrige oppgaven er det veldig viktig at man bruker filter()
-funksjonen før man bruker select()
-funksjonen. Dette er fordi R gjør operasjonene i kode i den rekkefølgen som de er skrevet opp. Hvis man hadde valgt variablene først, ville variabelen growth
ikke lenger være en del av datasettet. Da ville man ikke kunne filtrere på denne variabelen.
Bruk str()
-funksjonen til å finne ut hvor mange observasjoner det er i det nye datasettet data_ny
.
str(data_ny)
Plotting med ggplot2
Lag et stolpediagram som viser fordelingen til variabelen goodnews
i datasettet ds
. Gi stolpene forskjellige farger ved hjelp av fill
-argumentet basert på verdien deres på variabelen goodnews3
. Legg til tittelen “Fordelingen til goodnews”. Gi x-aksen navnet “Gode nyheter” og y-aksen “Antall observasjoner”. Bruk labs()
for å gjøre dette.
ggplot(ds, aes(x = goodnews, fill = goodnews3)) + geom_bar() + labs(title = "Fordelingen til goodnews", x = "Gode nyheter", y = "Antall observasjoner")
# Formatet til koden uten variablene og tall:
data_ny <- ds %>% filter() %>% select()
Det finnes flere måter å legge til titler og navn på akser enn labs()
. En annen måte å dette på er å bruke ggtitle("tittel")
, xlab("navn")
, og ylab("navn")
. Da legges tittel og navn til hver for seg.
Lag et histogram som viser fordelingen til growth
i datasettet ds
. Sett antall bins til 6. Legg til tittelen “Fordelingen til growth” med ggtitle()
. Gi x-aksen navnet “Økonomisk vekst” med xlab()
og y-aksen navnet “Antall observasjoner” med ylab()
.
ggplot(data = ds, aes(x = growth)) + geom_histogram(bins = 6) + ggtitle("Fordelingen til growth") + xlab("Økonomisk vekst") + ylab("Antall observasjoner")
# Formatet til koden uten data, variabler, tall og tekst:
ggplot(data =, aes(x = )) + geom_histogram(bins = ) + ggtitle("") + xlab("") + ylab("")
Lag to boksplott som viser fordelingen til variabelen inflation
i datasettet ds
, et for observasjoner med positiv økonomisk vekst (new_growth
= 1) og et for observasjoner med negativ økonomisk vekst (new_growth
= 0). For å få to boksplott bruker du facet_wrap(vars(new_growth))
. Ha inc_vote
på y-aksen. Legg til tittelen “Fordelingen til inflation for ulike verdier av new_growth” med ggtitle()
. Gi y-aksen navnet “Inflasjon” med ylab()
.
ggplot(data = ds, aes(y = inflation)) + geom_boxplot() + facet_wrap(vars(new_growth)) + ggtitle("Fordelingen til inflation for ulike verdier av new_growth") + ylab("Inflasjon")
# Formatet til koden uten data, variabler, tall og tekst:
ggplot(data = , aes(y = )) + geom_boxplot() + facet_wrap() + ggtitle("") + ylab("")
Lag et tetthetsplott som viser fordelingen til variabelen inc_vote
i datasettet ds
. Sett tykkelsen til linjen til 0.5 (size
), fargen til grønn/green (fill
), og gjennomsiktiget til 0.5 (alpha
). Legg til tittelen “Fordelingen til inc_vote”. Gi x-aksen navnet “% støtte til sittende parti” og y-aksen “Tetthet”. Bruk labs()
for å gjøre dette.
ggplot(data = ds, aes(x = inc_vote)) + geom_density(size = 0.5, fill = "green", alpha = 0.5) + labs(title = "Fordelingen til inc_vote", x = "% støtte til sittende parti", y = "Tetthet")
# Formatet til koden uten data, variabler, tall og tekst:
ggplot(data =, aes(x = )) + geom_density(size = , fill = "", alpha = ) + labs(title = "", x = "", y = "")
Lag et spredningsplott med variabelen inflation
fra datasettet ds
på x-aksen og inc_vote
på y-aksen. Legg til tittelen “Spredningsplott mellom inflation og inc_vote”. Gi x-aksen navnet “Inflasjon” og y-aksen “% støtte til sittende parti”. Bruk labs()
for å gjøre dette. Legg til en linje som viser gjennomsnittet til observasjonene med geom_smooth()
.
ggplot(data = ds, aes(x = inflation, y = inc_vote)) + geom_point() + labs(title = "Spredningsplott mellom inflation og inc_vote", x = "Inflasjon", y = "% støtte til sittende parti") + geom_smooth()
# Formatet til koden uten data, variabler, tall og tekst:
ggplot(data = , aes(x = , y = )) + geom_point() + labs(title = "", x = "", y = "") + geom_smooth()