10 Muunnosmuuttujat

Biostatistikot kutsuvat muunnosmuuttujiksi sellaisia uusia muuttujia, jotka on muodostettu jonkun yksittäisen tai useamman alkuperäisessä datasetissä olevan muuttujan pohjalta. Esimerkki voisi olla esim. uusi muuttuja nimeltään verenpainetauti, joka saisi arvon 1, jos tutkittavan toimistoverenpaine olisi 140/90 mmHg tai yli tai jos tutkittava käyttäisi verenpainelääkitystä, mutta muussa tapauksessa arvon 0.

Käytännössä jo yllä teimme tällaisia muunnosmuuttujia käskyllä mutate, mutta ainoana uutena asiana loimme suomenkielisen nimen alkuperäisille muuttujille.

Harjoituksen vuoksi muuttakaamme datasetissämme olevat amerikkalaiset yksiköt eurooppalaisempaan muotoon. Tarkastele esimerkkinä käyttämämme datasetin mtcars taustoja pyytämällä lisätietoa siitä seuraavalla komennolla (voit ajaa sen joko Consolessa tai sitten R-skriptissäsi):

?mtcars

RStudion oikeaan alalaitaan tulee välisivuun “Help” näkyviin jokseenkin seuraavaa sisältöä (tässä näkyy siitä muutamia rivejä):


mtcars {datasets}   R Documentation
Motor Trend Car Road Tests
Description
The data was extracted from the 1974 Motor Trend US magazine, and comprises fuel consumption and 10 aspects of automobile design and performance for 32 automobiles (1973–74 models).

Usage
mtcars
Format
A data frame with 32 observations on 11 (numeric) variables.

[, 1]   mpg Miles/(US) gallon
[, 2]   cyl Number of cylinders
[, 3]   disp    Displacement (cu.in.)
[, 4]   hp  Gross horsepower


Help-näkymästä huomaa, että datasetti mtcars sisältää dataa, joka on syötetty sisään amerikkalaisissa yksiköissä (maileja, gallonoita, hp-tyyppistä hevosvoimaa jne.).

Tahdomme seuraavaksi muuttaa amerikkalaiset yksiköt eurooppalaisiksi.

Avoimella internethaulla selvitin seuraavaa:

  • eurooppalainen bensankulutus (l/100 km) = 235.2 / amerikkalainen kulutus (mpg)
  • eurooppalainen hevosvoima (PS) = amerikkalainen hevosvoima (hp) / 0.9863
  • eurooppalainen massa (kg) = auton amerikkalainen massalukema (ilmaistu yksikössä: 1000 lbs) * 453.6

Ajetaan edellä kappaleessa 7 jo ajettu koodi uudemman kerran, mutta muutetaan tällä kertaa yksiköt eurooppalaisiksi. Tallennetaan tulokset uuteen datasettiin “autoja”:

# Lähdetään alusta liikkeelle: otetaan mtcars käsiteltäväksi.
# Huom. Vasta Kun kaikki putkitetut komennot alla on ajettu läpi,
# datasetti tallentuu uuteen "autoja"-nimiseen datasettiin.
autoja <- mtcars %>% 
  
# Valitaan vain yli 1 karburaattoria sisältävät autot.  
  filter(carb > 1) %>%
  
# Muutetaan mutate-käskyllä jenkkiyksiköt eurooppalaisiksi
# ja annetaan muuttujille samalla suomalaisia nimiä.  
  mutate(bensankulutus_eu = 235.2 / mpg,     
         hevosvoima_eu = hp / 0.9863,        
         massa_eu = wt * 453.6,
         vaihteisto = am) %>%

# Select-käskyllä säilytetään vain luomamme uudet muuttujat ja
# samalla tulee tuhotuksi kaikki muut muuttujat.
  select(bensankulutus_eu,
         hevosvoima_eu,
         massa_eu,
         vaihteisto)


Tarkastele nyt dataasi kirjoittamalla konsoliin:

View(autoja)

Nyt autojen “biomarkkerit” näyttävät tutummilta suomalaisenkin silmään (alla näytettynä 4 ensimmäistä riviä):

bensankulutus_eu hevosvoima_eu massa_eu vaihteisto
Mazda RX4 11.20000 111.5279 1188.432 1
Mazda RX4 Wag 11.20000 111.5279 1304.100 1
Hornet Sportabout 12.57754 177.4308 1560.384 0
Duster 360 16.44755 248.4031 1619.352 0

R-opas by Ville Langén is licensed under Attribution-ShareAlike 4.0 International