R For SAS Users
Melinda Higgins, PhD
Research Professor/Senior Biostatistician Emory University
Davis
dataset from car
packagelibrary(car)
head(Davis)
sex weight height repwt repht
1 M 77 182 77 180
2 F 58 161 51 159
3 F 53 161 54 158
4 M 68 177 70 175
5 F 59 157 59 155
6 M 76 170 76 165
davismod <- Davis %>%
mutate(bmi = weight / ((height/100))^2)
head(davismod)
sex weight height repwt repht bmi
1 M 77 182 77 180 23.245
2 F 58 161 51 159 22.375
3 F 53 161 54 158 20.446
4 M 68 177 70 175 21.705
5 F 59 157 59 155 23.936
6 M 76 170 76 165 26.297
davismod <- davismod %>%
mutate(diffht = repht - height) %>%
mutate(difflow = diffht <= -3)
davismod %>%
head()
sex weight height repwt repht bmi diffht difflow
1 M 77 182 77 180 23.24598 -2 FALSE
2 F 58 161 51 159 22.37568 -2 FALSE
3 F 53 161 54 158 20.44674 -3 TRUE
4 M 68 177 70 175 21.70513 -2 FALSE
5 F 59 157 59 155 23.93606 -2 FALSE
6 M 76 170 76 165 26.29758 -5 TRUE
davismod <- davismod %>%
mutate(bmicat = ifelse(test = bmi < 25, yes = "1. underwt/norm",
no = ifelse(bmi < 30, "2. overwt", "3. obese")))
# display rows 15 to 21
davismod %>% slice(15:21)
sex weight height repwt repht bmi diffht difflow bmicat
1 F 52 163 57 160 19.57168 -3 TRUE 1. underwt/norm
2 F 65 166 66 165 23.58833 -1 FALSE 1. underwt/norm
3 M 92 187 101 185 26.30902 -2 FALSE 2. overwt
4 F 62 168 62 165 21.96712 -3 TRUE 1. underwt/norm
5 M 76 197 75 200 19.58309 3 FALSE 1. underwt/norm
6 F 61 175 61 171 19.91837 -4 TRUE 1. underwt/norm
7 M 119 180 124 178 36.72840 -2 FALSE 3. obese
davismod %>%
select(bmi, bmicat) %>%
head()
bmi bmicat
1 23.24598 1. underwt/norm
2 22.37568 1. underwt/norm
3 20.44674 1. underwt/norm
4 21.70513 1. underwt/norm
5 23.93606 1. underwt/norm
6 26.29758 2. overwt
davismod %>%
pull(bmi) %>%
is.numeric()
[1] TRUE
davismod %>%
pull(bmicat) %>%
is.numeric()
[1] FALSE
davismod %>%
pull(difflow) %>%
is.vector()
is.data.frame(davismod)
is.matrix(davismod)
[1] TRUE
[1] TRUE
[1] FALSE
davismod %>%
pull(difflow) %>%
head()
[1] FALSE FALSE TRUE FALSE FALSE TRUE
as.xxx()
functions in Rdavismod %>%
pull(difflow) %>%
as.numeric() %>%
head()
[1] 0 0 1 0 0 1
davismod %>%
select(weight, height) %>%
head(4)
weight height
1 77 182
2 58 161
3 53 161
4 68 177
Convert to matrix, check class()
davismod %>%
select(weight, height) %>%
as.matrix() %>%
class()
[1] "matrix"
R For SAS Users