Indlæs først datasættet igen

myFrame<-dget("https://statepi.statnoter.dk/data/myDataset.robj") #indlæs filen myDataset.robj, og gem data i dataframe'en "myFrame"
head(myFrame)
     id køn alder  bmi livvidde P-glucose(faste)
1 76891   2    20 36.1    105.0            4.496
2 79112   2    22 36.4    105.8            5.107
3 82414   1    68 28.6    104.2               NA
4 82116   2    18 46.7    128.4            5.384
5 74381   2    25 23.7     82.1            4.774
6 75714   1    54 23.9     88.8            8.660

Antal rækker i en dataframe

Antal rækker i en dataframe kan ses med funktionen nrow. Hvis man i stedet er interesseret i længden af en vektor (altså en række med tal), så bruges funktionen length som vi tidligere har set.

#antal rækker i datasættet:
nrow(myFrame)
[1] 200
#antal elementer i en vektor (husk en vektor er bare een kolonne tal) - 
#giver selvfølgelig samme resultat som antal rækker i dataframen
length(myFrame$alder)
[1] 200
#Bemærk at man benytter to forskellige funktioner til at tælle antal rækker i en dataframe og antal elementer i en vektor.

Kvartiler (fraktiler)

#kvartiler for alder i datasættet (se f.eks. statnoter.dk side 2.7):
quantile(x = myFrame$alder, probs = c(0.25, 0.50, 0.75))
 25%  50%  75% 
21.0 37.5 55.0 

En enkelt kommentar til ovenstånde kommando: Funktionen quantile() skal have to argumenter, dels x som er det datasæt der skal beregnes fraktiler for, dels probs som er den fraktil-sandsynlighed man ønsker at beregne (f.eks. 0.25 for nedre kvartil eller 0.5 for medianen).

Mange R-funktioner kan imidlertid lave flere beregninger på en gang, og her er det muligt, samtidigt, at angive flere tal som input til probs. Når man i R skal angive en række af tal (det kaldes formelt en vektor), så skal tallene “sættes ind” i funktionen c(), som man kan se herover. Husk at “.” benyttes som decimal-tegn, mens “,” herover altså benyttes til at adskille de 3 sandsynligheder, vi ønsker at beregne fraktiler for; ligesom komma benyttes til at adskille forskellige parametre til en funktion (eller kommando).

Opret en ny kolonne

Det er let at foretage beregninger på samtlige rækker, og gemme disse i en ny kolonne. Hvis vi f.eks. gerne vil beregne forholdet mellem BMI og livvidde for hver person og gemme i en ny kolonne (BMI_livvide) - lad være med at spørge hvad det tal skal bruges til :-)

myFrame$BMI_livvidde <- myFrame$livvidde / myFrame$bmi
head(myFrame) #vis dataframen igen
     id køn alder  bmi livvidde P-glucose(faste) BMI_livvidde
1 76891   2    20 36.1    105.0            4.496     2.908587
2 79112   2    22 36.4    105.8            5.107     2.906593
3 82414   1    68 28.6    104.2               NA     3.643357
4 82116   2    18 46.7    128.4            5.384     2.749465
5 74381   2    25 23.7     82.1            4.774     3.464135
6 75714   1    54 23.9     88.8            8.660     3.715481

Bemærk at der nu er tilføjet en ny kolonne til dataframen.

Afrunding

#Og måske vil vi gerne have resultatet til at fremstå med 2 decimaler, hvilket kan gøres med funktionen 'round'
myFrame$BMI_livvidde <- round(myFrame$BMI_livvidde, 2)
head(myFrame)
     id køn alder  bmi livvidde P-glucose(faste) BMI_livvidde
1 76891   2    20 36.1    105.0            4.496         2.91
2 79112   2    22 36.4    105.8            5.107         2.91
3 82414   1    68 28.6    104.2               NA         3.64
4 82116   2    18 46.7    128.4            5.384         2.75
5 74381   2    25 23.7     82.1            4.774         3.46
6 75714   1    54 23.9     88.8            8.660         3.72