Skip to Tutorial Content

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. 
Lagre datasettet ved hjelp av 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å variabelen goodnews får verdien 1, observasjoner med verdien 10 på variabelen goodnews får verdien 3, og resten av observasjonene får verdien 2. Kall den nye variabelen goodnews3 og legg den til i datasettet ds.
  • B. Gjør så goodnews3 om til en faktor fra en numerisk variabel i neste linje. Bruk as.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()

Neste oppgavesett

Oppgaver: Visualisering av data

Master i statsvitenskap — R-forberedelse

Eli Sofie Baltzersen, Louisa Boulaziz, Bjørn Høyland, Eric Nilsen, Lise Rødland

8/9/2021