suppressMessages(library(tidyverse))
%>% group_by(Survived) %>% tally() titanic
# A tibble: 2 × 2
Survived n
<chr> <int>
1 Alive 712
2 Dead 1496
Mattias Villani
Matias Quiroz
Den här sidan samlar lite kommandon i den s k tidyverse dialekten av R.
Tidyverse är en samling R-paket som delar på samma underliggande filosofi. När man väl lärt sig Tidyverse-filosofin, är paketen väldigt kraftfulla. Men eftersom det tar sin tid att lära sig Tidyverse så använder vi inte dessa paket på den här grundkursen. För att stilla nyfikenheten bland programmeringintresserade studenter kommer vi då och då länka till motsvarande kod i Tidyverse genom att visa den här ikonen i marginalen:
Klickar man på den ikonen får man se motsvarande kod från ett eller flera av de olika Tidyverse-paketen, t ex
Speciellt värt att notera bland dessa paket är ggplot2 som, trots sitt knepiga namn, är ett mycket användbart paket för diagram och visualisering. Se ggplot2 cheat sheet för kommandon.
Den s k pipe
-operatorn %>%
gör att Tidyverse-kod byggs upp på annats sätt än standard R. Pipe-operatorn skickar vidare en beräkning eller resultat till funktionen till höger i uttrycket. Ett exempel förklarar det bäst:
# A tibble: 2 × 2
Survived n
<chr> <int>
1 Alive 712
2 Dead 1496
där datamaterialet (dataframe) titanic
skickas in i funktionen group_by()
som grupperar data efter variablen Survived. Denna gruppering skickas sen vidare till funktioen tally()
som gör sammanfattningen till en tabell.
# A tibble: 2 × 2
Survived n
<chr> <int>
1 Alive 712
2 Dead 1496
eller om man vill också ha proportioner
suppressMessages(library(tidyverse))
titanic %>%
dplyr::group_by(Survived) %>%
tally() %>%
mutate(freq = prop.table(n))
# A tibble: 2 × 3
Survived n freq
<chr> <int> <dbl>
1 Alive 712 0.322
2 Dead 1496 0.678
där vi skrivit våra pipes %>%
enligt tidyverse-konventionen med radbryt mellan en lång serie pipes.