🔒 This topic is solved and locked.
Need further help from the community? Please
sign in and ask a new question.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Posted 03-24-2021 04:34 AM
(2263 views)
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))
1 ACCEPTED SOLUTION
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
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;
4 REPLIES 4
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
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;
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
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;
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
I think it's fine.
You're just missing a semicolon at the end.
0.993**age * ifn(female, 1.018, 1);
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Thank you very much ~ let me try this code!