[1] 3
R: Från datahantering till visualisering
Objekt och klasser
Varje objekt har en klass
Klasser i R definierar typen av objekt och bestämmer hur objektet beter sig i olika sammanhang.
Information om klassen hjälper oss att förstå vilka operationer som kan utföras på objektet
Klass | Objekt |
---|---|
En mall eller ritning | En konkret instans av en klass |
Definierar egenskaper och beteenden | Har egenskaper och kan utföra beteenden |
Exempel: data.frame, numeric, list | Exempel: df, num_vec, my_list |
Data Frames
: Tabeller där varje kolumn kan ha olika datatyper. Används för att lagra dataset.Tibbles
: En modern version av data frames, ofta använd i tidyverse.Vektorer
eller variabler: En grundläggande datastruktur med element av samma typ.
Numerical
: Numerisk: Tal, antingen heltal (int
) eller reella tal med decimaler (dbl
).Character
: Kategoriska data (chr
), till exempel namn.Factor
: Kategorisk data lagrade som nivåer (fct
). Användbart vid modellering.Logical
: TRUE eller FALSE värde (lgl
).listor
En flexibel datastruktur som kan innehålla olika typer av objekt.arrays
Flerdimensionella strukturer som lagrar element av samma typ.matrices
En tvådimensionell datastruktur där alla element har samma typ.Använd class()
för att se vilken typ av objekt något är.
I konsolen går det att utföra olika kalkulationer.
Men dessa är inte ett sparat objekt (i R miljön) innan pil (<-
) symbolen används (går även att använda =
, men de flesta förespråkar <-
)
Ett sparat objekt kan återanvändas!
För att visa detta objekt kan du skriva x i konsolen och trycka på enter alternativt markera objektet i ett script och använda tangentkombinationen cmd/ctrl + enter
Vad är x för typ av objekt?
Numeriska vektorer
För att skapa en vektor som är längre än ett värde används c()
, som betyder concatonate, men kan vara lättare att tänka på som combine.
Multiplikation med vektorer
Om vi multilicerar vår nya vektor med ett tal kommer alla värden bli gånger det talet
Multiplikation av en vektor med en kortare vektor
R använder en princip som kallas vektoråtervinning:
Beräkningar:
Character vector/textvektorer
Faktorer
En factor är en datastruktur i R som används för att hantera kategorisk data.
Representerar variabler som har ett begränsat antal unika värden, kallade nivåer/levels.
manader_factor <- factor(
manader,
levels = c(
"Januari", "Februari", "Mars", "April",
"Maj", "Juni", "Juli", "Augusti",
"September", "Oktober", "November", "December"
)
)
manader_factor
[1] Augusti Februari Januari December Mars Maj September
[8] April November Juni Oktober Juli
12 Levels: Januari Februari Mars April Maj Juni Juli Augusti ... December
manader_ordered <- factor(
manader,
levels = c(
"Januari", "Februari", "Mars", "April",
"Maj", "Juni", "Juli", "Augusti",
"September", "Oktober", "November", "December"
),
ordered = TRUE
)
manader_ordered
[1] Augusti Februari Januari December Mars Maj September
[8] April November Juni Oktober Juli
12 Levels: Januari < Februari < Mars < April < Maj < Juni < ... < December
Rektangulär data
Skapa vektorer
set.seed(123) # För reproducerbarhet
namn <- sample(c("Anna", "Björn", "Cecilia", "David", "Elin", "Fredrik", "Gabriella", "Henrik", "Isabella", "Johan", "Karin", "Lars", "Maria", "Niklas", "Oskar"), 30, replace = TRUE)
alder <- sample(20:40, 30, replace = TRUE)
stad <- sample(c("Stockholm", "Göteborg", "Malmö", "Uppsala", "Lund", "Västerås", "Örebro", "Linköping", "Helsingborg", "Norrköping", "Jönköping", "Umeå", "Gävle", "Borås", "Eskilstuna"), 30, replace = TRUE)
Av dessa kan vi skapa en data frame
Namn Alder Stad
1 Oskar 38 Eskilstuna
2 Oskar 23 Norrköping
3 Cecilia 33 Umeå
4 Niklas 36 Eskilstuna
5 Cecilia 30 Uppsala
6 Johan 26 Borås
7 Björn 40 Västerås
8 Fredrik 31 Jönköping
9 Karin 34 Linköping
10 Elin 29 Västerås
11 David 32 Västerås
12 Niklas 26 Örebro
13 Fredrik 28 Eskilstuna
14 Isabella 28 Stockholm
15 Johan 29 Västerås
16 Karin 40 Göteborg
17 Elin 26 Stockholm
18 Cecilia 40 Göteborg
19 Karin 25 Uppsala
20 Isabella 21 Gävle
21 Lars 24 Lund
22 Isabella 27 Västerås
23 Isabella 31 Eskilstuna
24 Maria 32 Malmö
25 Cecilia 37 Helsingborg
26 Henrik 20 Uppsala
27 Johan 25 Västerås
28 Gabriella 40 Helsingborg
29 Johan 34 Borås
30 Isabella 28 Helsingborg
Och även en tibble
Skillnader:
Funktioner
Funktioner är också objekt, antagligen den vanligaste objekttypen i R.
Många funktioner i R är namngivna på ett sätt som ger en bra ledtråd om vad de gör.
Vad är argument?
Exempel: Funktionen mean()
, mean()
tar flera argument, inklusive:
x
: En vektor med numeriska värden (obligatoriskt).na.rm
: Ett logiskt värde som anger om NA-värden ska ignoreras (valfritt).Använd funktionerna as.character()
, as.integer()
, as.logical()
, as.numeric()
eller as.factor()
.
, medan ,
används för att separera argument eller tal.Bas R
Dollartecken ($
): Åtkomst till kolumner i data frames
Enkla hakparenteser []
:
[]
på en data frame eller en lista, behåller resultatet samma struktur som originalet.[[]]
:[]
och [[]]
:[]
returnerar en ny lista som innehåller det valda elementet (strukturen bevaras).[[]]
returnerar själva innehållet i det valda elementet.[]
och [[]]
:[]
används för att välja rader eller kolumner medan man behåller data frame-strukturen.[[]]
används för att hämta en kolumn som en vektor.