Föll í R - Dæmi
Eyþór Björnsson
2017-05-23
Inngangur
Hér eru dæmi um notkun á föllum sem ég hef skrifað og má finna á GitHub. Þetta eru aðallega föll sem spara mikinn tíma við uppsetningu á algengum töflum fyrir vísindagreinar (á sviði læknavísinda) en eru líka hjálpleg til þess að átta sig á fylgni milli mismunandi breyta í gagnasafninu.
Þessi síða er búin til með bookdown. Það er frábær pakki sem tvinnar saman R markdown skrár og setur saman í aðgengilegt html-bókarsnið.
Pakkar
library(dplyr); library(knitr); library(kableExtra)
options(knitr.table.format = "html")
Gagnasett
Í öllum dæmunum er notast við ‘diabetes’ gagnasettið sem er aðgengilegt frá http://biostat.mc.vanderbilt.edu/wiki/Main/DataSets.
The data consist of 19 variables on 403 subjects from 1046 subjects who were interviewed in a study to understand the prevalence of obesity, diabetes, and other cardiovascular risk factors in central Virginia for African Americans. According to Dr John Hong, Diabetes Mellitus Type II (adult onset diabetes) is associated most strongly with obesity. The waist/hip ratio may be a predictor in diabetes and heart disease. DM II is also agssociated with hypertension - they may both be part of “Syndrome X”. The 403 subjects were the ones who were actually screened for diabetes. Glycosolated hemoglobin > 7.0 is usually taken as a positive diagnosis of diabetes.
data <- read.csv("https://raw.githubusercontent.com/eythorbj/R/master/diabetes.csv", header=TRUE)
data$dm <- ifelse(data$glyhb > 7.0, 1, 0) # Skilgreinir sykursjúka
data$male <- ifelse(data$gender=="male", 1, 0) # Skilgreinir karlmenn (fyrir table_one fallið)
str(data)
## 'data.frame': 403 obs. of 21 variables:
## $ id : int 1000 1001 1002 1003 1005 1008 1011 1015 1016 1022 ...
## $ chol : int 203 165 228 78 249 248 195 227 177 263 ...
## $ stab.glu: int 82 97 92 93 90 94 92 75 87 89 ...
## $ hdl : int 56 24 37 12 28 69 41 44 49 40 ...
## $ ratio : num 3.6 6.9 6.2 6.5 8.9 ...
## $ glyhb : num 4.31 4.44 4.64 4.63 7.72 ...
## $ location: Factor w/ 2 levels "Buckingham","Louisa": 1 1 1 1 1 1 1 1 1 1 ...
## $ age : int 46 29 58 67 64 34 30 37 45 55 ...
## $ gender : Factor w/ 2 levels "female","male": 1 1 1 2 2 2 2 2 2 1 ...
## $ height : int 62 64 61 67 68 71 69 59 69 63 ...
## $ weight : int 121 218 256 119 183 190 191 170 166 202 ...
## $ frame : Factor w/ 3 levels "large","medium",..: 2 1 1 1 2 1 2 2 1 3 ...
## $ bp.1s : int 118 112 190 110 138 132 161 NA 160 108 ...
## $ bp.1d : int 59 68 92 50 80 86 112 NA 80 72 ...
## $ bp.2s : int NA NA 185 NA NA NA 161 NA 128 NA ...
## $ bp.2d : int NA NA 92 NA NA NA 112 NA 86 NA ...
## $ waist : int 29 46 49 33 44 36 46 34 34 45 ...
## $ hip : int 38 48 57 38 41 42 49 39 40 50 ...
## $ time.ppn: int 720 360 180 480 300 195 720 1020 300 240 ...
## $ dm : num 0 0 0 0 1 0 0 0 0 0 ...
## $ male : num 0 0 0 1 1 1 1 1 1 0 ...
Fallegar töflur
Til þess að búa til aðlaðandi html töflur fyrir þetta skjal eru hráar töflur settar í pípu til knitr::kable
. Einnig nota ég valdar skipanir úr kableExtra
eins og kable_styling(full_width = F)
til þess að hindra það að lítil tafla sé teygð þvert yfir síðuna, og add_header_above()
til þess að bæta við dálkaheiti ofan við önnur dálkaheiti. Þessum skipunum má vel sleppa.