我们知道,eGFR是根据血肌酐水平(Cre)、年龄(age)和性别(sex)按照一定的公式(MDRD、CKD-EPI及国内改良的MDRD等)计算出来的。因为这些公式中,不同性别的计算方法不一致,因此如何快速的在自己的数据库中整理出最终的eGFR呢?
之前我写过一个小blog(链接),介绍了使用EXCEL + SPSS快速计算数据库中的eGFR。
下面我介绍使用R更加方便快捷的操作。
#加载dplyr包
library(dplyr)
#创建数据库(实际使用时加载自己的数据库)
n <- 300
age <- rnorm(n, 60, 5)
Cre <- runif(n, 70, 140) #Cre即血肌酐浓度,单位umol/L
sex <- sample(c('0', '1'), n, replace = TRUE) #男=1;女=0
mydata <- tibble(age = age,
Cre = Cre,
sex = sex) #生成数据框
#根据公式分别计算出男性和女性eGFR
mydata_eGFR <- mydata %>%
mutate(eGFR_Male = 175*(Cre/88.4)^(-1.234) * age^(-0.179), #计算男性eGFR
eGFR_Female = 175*(Cre/88.4)^(-1.234) * age^(-0.179)*0.79) #计算女性eGFR
#根据性别筛选出最终的eGFR
mydata_final <- mydata_eGFR %>%
mutate(eGFR = ifelse(sex == 1, eGFR_Male, eGFR_Female)) %>%
select(c('age','Cre','sex', 'eGFR'))
View(mydata_final)
一步到位版:
mydata_eGFR <- mydata %>%
mutate(eGFR_Male = 175*(Cre/88.4)^(-1.234) * age^(-0.179),
eGFR_Female = 175*(Cre/88.4)^(-1.234) * age^(-0.179)*0.79,
eGFR = ifelse(sex == 1, eGFR_Male, eGFR_Female)) %>%
select(c('age','Cre','sex', 'eGFR'))
View(mydata_eGFR)
几点说明:
1. 性别中,1=男,0=女;
2. 血肌酐Cre的单位是umol/L;
3. eGFR的计算按照下面的公式;若需要可以修改为其他公式(如MDRD等)。
4. 计算公式参考文献:
Ma YC, Zuo L, Chen JH, Luo Q, Yu XQ, Li Y, Xu JS, Huang SM, Wang LN, Huang W, Wang M, Xu GB, Wang HY. Modified glomerular filtration rate estimating equation for Chinese patients with chronic kidney disease. J AM SOC NEPHROL. 2006;17(10):2937-2944.