Datatyper

Lister

Lister samler objekter, vektorer eller datasett. I motsetning til vektorer kan de inneholde forskjellige datatyper og forskjellig lengder.

Vi lager lister ved å bruke list():

kommune_list <- list(sted = c("Oslo", "Kongsvinger", "Halden"), 
                     snitt_lonn = c(636, 504, 552), 
                     antall_lonnstakere = c(467400, 8300, 12600),
                     nivaa = "Kommune")
kommune_list
$sted
[1] "Oslo"        "Kongsvinger" "Halden"     

$snitt_lonn
[1] 636 504 552

$antall_lonnstakere
[1] 467400   8300  12600

$nivaa
[1] "Kommune"

Vi kan bruke $ for å få tilgang til en vektor eller et element i en liste:

kommune_list$snitt_lonn
[1] 636 504 552

Vi kan kombinere dette med [ ] for å hente ut elementer:

kommune_list$snitt_lonn[1]
[1] 636

Datasett

Datasett er lister som samler vektorer med samme lengde.

Eksempel datasett

Vi bruker data.frame() for å lage et vanlig R datasett:

kommune_data <- data.frame(sted = c("Oslo", "Kongsvinger", "Halden"), 
                          antall_lonnstakere = c(467400, 8300, 12600))

Igjen kan vi bruke $ for å få tilgang til en vektor og [ ] for å hente ut elementer:

kommune_data$snitt_lonn[2]
NULL

NB: I tidyverse bruker vi variabelnavn istedenfor $.Dette har konsekvenser for kjøretid og noen begrensninger, likevel er tidyverse en veldig intuitiv og givende pakke for analysering av data.

Noen nyttige funksjoner som kan benyttes ved datasett:

nrow(kommune_data)
[1] 3
ncol(kommune_data)
[1] 2
head(kommune_data)
         sted antall_lonnstakere
1        Oslo             467400
2 Kongsvinger               8300
3      Halden              12600
library(tidyverse)
glimpse(kommune_data)
Rows: 3
Columns: 2
$ sted               <chr> "Oslo", "Kongsvinger", "Halden"
$ antall_lonnstakere <dbl> 467400, 8300, 12600

Forskjellige datasetttyper

Det er forskjlellige måte å formatere data i R. Disse er mest vanlig:

Data frame type Code for formatting
Normal data frame data.frame()
tibble (tidyverse) as_tibble()
data table (data.table) data.table()