dataset %>%
mutate(age_base_yrs = as.numeric(
baseline_visit - dob)/365.25) %>%
relocate(age_base_yrs, .after = baseline_visit)
## # A tibble: 4 × 12
## studyid dob baseline_visit age_base_yrs visit_1 visit_2 wt_kg
## <chr> <date> <date> <dbl> <date> <date> <dbl>
## 1 001 1971-04-13 2021-03-01 49.9 2021-09-07 2022-03-19 64.2
## 2 002 1983-07-19 2021-04-01 37.7 2021-10-03 2022-04-13 56.3
## 3 003 1976-09-26 2021-04-13 44.5 2021-10-18 2022-04-22 84.7
## 4 004 1988-02-07 2021-04-19 33.2 2021-11-22 2022-05-01 99.2
## # ℹ 5 more variables: ht_m <dbl>, sex <dbl>, race <dbl>, ethnicity <dbl>,
## # creat <dbl>
dataset %>%
mutate(bmi = round(wt_kg/ht_m^2,2)) %>%
relocate(bmi, .after = ht_m) %>%
knitr::kable()
studyid | dob | baseline_visit | visit_1 | visit_2 | wt_kg | ht_m | bmi | sex | race | ethnicity | creat |
---|---|---|---|---|---|---|---|---|---|---|---|
001 | 1971-04-13 | 2021-03-01 | 2021-09-07 | 2022-03-19 | 64.2 | 1.53 | 27.43 | 1 | 1 | 0 | 0.63 |
002 | 1983-07-19 | 2021-04-01 | 2021-10-03 | 2022-04-13 | 56.3 | 1.47 | 26.05 | 2 | 6 | 1 | 1.32 |
003 | 1976-09-26 | 2021-04-13 | 2021-10-18 | 2022-04-22 | 84.7 | 1.78 | 26.73 | 1 | 4 | 0 | 1.05 |
004 | 1988-02-07 | 2021-04-19 | 2021-11-22 | 2022-05-01 | 99.2 | 1.88 | 28.07 | 2 | 2 | 0 | 1.19 |
##重编程排序后或分类型数据
dataset %>%
mutate(sex_cat = case_when(sex == 1 ~ "1_male",
sex == 2 ~ "2_female"))
## # A tibble: 4 × 12
## studyid dob baseline_visit visit_1 visit_2 wt_kg ht_m sex
## <chr> <date> <date> <date> <date> <dbl> <dbl> <dbl>
## 1 001 1971-04-13 2021-03-01 2021-09-07 2022-03-19 64.2 1.53 1
## 2 002 1983-07-19 2021-04-01 2021-10-03 2022-04-13 56.3 1.47 2
## 3 003 1976-09-26 2021-04-13 2021-10-18 2022-04-22 84.7 1.78 1
## 4 004 1988-02-07 2021-04-19 2021-11-22 2022-05-01 99.2 1.88 2
## # ℹ 4 more variables: race <dbl>, ethnicity <dbl>, creat <dbl>, sex_cat <chr>
library(flextable)
##
## 载入程序包:'flextable'
## The following object is masked from 'package:purrr':
##
## compose
dataset %>%
mutate(race = case_when(race == 1 ~ "1_white",
race == 2 ~ "2_black",
race == 3 ~ "3_asian",
race == 4 ~ "4_pacific_islander",
race == 5 ~ "5_native_american",
race == 6 ~ "6_more_than_one_race")) %>%
flextable::flextable()
studyid | dob | baseline_visit | visit_1 | visit_2 | wt_kg | ht_m | sex | race | ethnicity | creat |
---|---|---|---|---|---|---|---|---|---|---|
001 | 1971-04-13 | 2021-03-01 | 2021-09-07 | 2022-03-19 | 64.2 | 1.53 | 1 | 1_white | 0 | 0.63 |
002 | 1983-07-19 | 2021-04-01 | 2021-10-03 | 2022-04-13 | 56.3 | 1.47 | 2 | 6_more_than_one_race | 1 | 1.32 |
003 | 1976-09-26 | 2021-04-13 | 2021-10-18 | 2022-04-22 | 84.7 | 1.78 | 1 | 4_pacific_islander | 0 | 1.05 |
004 | 1988-02-07 | 2021-04-19 | 2021-11-22 | 2022-05-01 | 99.2 | 1.88 | 2 | 2_black | 0 | 1.19 |
dataset %>%
mutate(age = as.numeric((baseline_visit - dob)/365.25)) %>%
mutate(gfr = case_when(
sex == 2 & creat <= 0.7 ~ 142 * (creat/0.7)^-0.241 * 0.9938^age * 1.012,
sex == 2 & creat > 0.7 ~ 142 * (creat/0.7)^-1.200 * 0.9938^age * 1.012,
sex == 1 & creat <= 0.9 ~ 142 * (creat/0.7)^-0.302 * 0.9938^age,
sex == 1 & creat > 0.9 ~ 142 * (creat/0.7)^-1.200 * 0.9938^age
)) %>%
relocate(creat, sex, age, gfr, .after = studyid)
## # A tibble: 4 × 13
## studyid creat sex age gfr dob baseline_visit visit_1
## <chr> <dbl> <dbl> <dbl> <dbl> <date> <date> <date>
## 1 001 0.63 1 49.9 107. 1971-04-13 2021-03-01 2021-09-07
## 2 002 1.32 2 37.7 53.1 1983-07-19 2021-04-01 2021-10-03
## 3 003 1.05 1 44.5 66.2 1976-09-26 2021-04-13 2021-10-18
## 4 004 1.19 2 33.2 61.8 1988-02-07 2021-04-19 2021-11-22
## # ℹ 5 more variables: visit_2 <date>, wt_kg <dbl>, ht_m <dbl>, race <dbl>,
## # ethnicity <dbl>