Gå till index

Lilla Forskarskolan: Forskningsmetoder och Analys med R

0% färdig
0/0 Steps
  1. Analys och forskning med R och Posit (Rstudio)
  2. Grunderna i R och Rstudio
    7 Ämnen
  3. Importera, exportera, spara och ladda data
    5 Ämnen
  4. Strängar och regular expressions (regex)
    1 Ämne
  5. Bearbetning av data med dplyr
    12 Ämnen
  6. Visualisera och presentera
    14 Ämnen
  7. Explorerande och deskriptiva analyser
    6 Ämnen
  8. Prediktionsmodeller
    12 Ämnen
  9. Klassisk regressionsanalys
    8 Ämnen
  10. Machine learning (ML) och Artificiell Intelligens (AI)
    9 Ämnen
  11. Skapa prediktionsmodeller med Tidymodels
    6 Ämnen
  12. Hypotestester och epidemiologiska mått
    5 Ämnen
Avsnitt Progress
0% färdig

Funktionen mutate() utför operationer på kolumner. Exempelvis resulterar kommandot mutate(mean_bmi=mean(bmi)) till att kolumnen mean_bmi beräknas som medelvärdet av kolumnen bmi. Men hur gör vi om mean_bmi istället skall beräknas som medelvärdet av flera kolumner? För detta behöver vi funktionen rowwise().

I dessa exempel använder vi mpg data som finns i paketet tidyverse. Aktivera tidyverse och mpg som följer:

R
library(tidyverse)
data(mpg)

# Inspektera första 10 raderna
head(mpg, 10)
R
manufacturer  model      displ  year   cyl trans      drv     cty   hwy fl    class  
 audi         a4           1.8  1999     4 auto(l5)   f        18    29 p     compact
 audi         a4           1.8  1999     4 manual(m5) f        21    29 p     compact
 audi         a4           2    2008     4 manual(m6) f        20    31 p     compact
 audi         a4           2    2008     4 auto(av)   f        21    30 p     compact
 audi         a4           2.8  1999     6 auto(l5)   f        16    26 p     compact
 audi         a4           2.8  1999     6 manual(m5) f        18    26 p     compact
 audi         a4           3.1  2008     6 auto(av)   f        18    27 p     compact
 audi         a4 quattro   1.8  1999     4 manual(m5) 4        18    26 p     compact
 audi         a4 quattro   1.8  1999     4 auto(l5)   4        16    25 p     compact
 audi         a4 quattro   2    2008     4 manual(m6) 4        20    28 p     compact

För att demonstrationen skall bli tydligare sparar vi endast de numeriska kolumnerna i mpg data. Det nya objektet kallas mpg2:




BLOCKERAD KOD, BILD ELLER TEXT


Du måste logga in för att komma åt allt material.


R
   displ  year   cyl   cty   hwy
    1.8  1999     4    18    29
    1.8  1999     4    21    29
    2    2008     4    20    31
    2    2008     4    21    30
    2.8  1999     6    16    26
    2.8  1999     6    18    26
    3.1  2008     6    18    27
    1.8  1999     4    18    26
    1.8  1999     4    16    25
    2    2008     4    20    28

Vi skapar nu två nya variabler: ny_variabel och ny_variabel_2. Dessa variabler skall vara medelvärdet av kolumnerna cyl, displ och cty. Variabeln ny_variabel skapas utan rowwise(). Variabeln ny_variabel_2 skapas med rowwise(), vilket innebär att den föregås av rowwise(). Vi skapar variablerna samtidigt för att resultatet skall kunna jämföras direkt. Koden är som följer:




BLOCKERAD KOD, BILD ELLER TEXT


Du måste logga in för att komma åt allt material.


R
  displ  year   cyl   cty   hwy ny_variabel ny_variabel_2
    1.8  1999     4    18    29        8.74          7.93
    1.8  1999     4    21    29        8.74          8.93
    2    2008     4    20    31        8.74          8.67
    2    2008     4    21    30        8.74          9   
    2.8  1999     6    16    26        8.74          8.27
    2.8  1999     6    18    26        8.74          8.93
    3.1  2008     6    18    27        8.74          9.03
    1.8  1999     4    18    26        8.74          7.93
    1.8  1999     4    16    25        8.74          7.27
    2    2008     4    20    28        8.74          8.67

Som framgår ovan har alla rader samma värde på ny_variabel (8.74). Detta förklaras av att mutate() beräknade kolumnvis (column wise) medelvärde. Värdena för ny_variabel_2 varierar dock på varje rad, vilket beror på att värdena beräknats som radvis (row wise) medelvärde.