I would like to know how I can convert this formula into SAS code? Thanks in advance
bio.cov <- bio.cov %>% mutate(female = ifelse(sex == 0, TRUE, FALSE), kappa=ifelse(female, 61.9, 79.6), alpha=ifelse(female,-0.329,-0.411), srblack = ethnicity %in% c(4, 4001,4002,4003), eGFR = 141 * pmin(creatinine/kappa, 1)^alpha * pmax(creatinine/kappa, 1)^-1.209 * 0.993^age * ifelse(female, 1.018, 1) * ifelse(srblack, 1.159, 1))
how about this code?
But not tested because I don't know data structure and have no data.
data bio;
set bio;
female=ifn(sex=0, 1, 0);
kappa =ifn(female, 61.9, 79.6);
alpha =ifn(female,-0.329,-0.411);
srblack=ifn(ethnicity in (4,4001,4002,4003),1,0);
eGFR = 141 * min(creatinine/kappa, 1)**alpha *
max(creatinine/kappa, 1)**-1.209 *
0.993**age * ifn(female, 1.018, 1) *
ifn(srblack, 1.159, 1);
run;
how about this code?
But not tested because I don't know data structure and have no data.
data bio;
set bio;
female=ifn(sex=0, 1, 0);
kappa =ifn(female, 61.9, 79.6);
alpha =ifn(female,-0.329,-0.411);
srblack=ifn(ethnicity in (4,4001,4002,4003),1,0);
eGFR = 141 * min(creatinine/kappa, 1)**alpha *
max(creatinine/kappa, 1)**-1.209 *
0.993**age * ifn(female, 1.018, 1) *
ifn(srblack, 1.159, 1);
run;
Hi Kawakami,
Thanks for your help, suppose if my data doesn't have the information for ethnicity, can I write the formula like this?
data bio; set bio; female=ifn(sex=0, 1, 0); kappa =ifn(female, 61.9, 79.6); alpha =ifn(female,-0.329,-0.411); eGFR = 141 * min(creatinine/kappa, 1)**alpha * max(creatinine/kappa, 1)**-1.209 * 0.993**age * ifn(female, 1.018, 1) run;
I think it's fine.
You're just missing a semicolon at the end.
0.993**age * ifn(female, 1.018, 1);
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.