Hello List, I wrote the script below to assign value to a new field?DisclosureStatus. my goal is if?gl_resultsdisclosed=1 then?DisclosureStatus=DISCLOSED else if?gl_resultsdisclosed=0 then?DisclosureStatus=?ATTEMPTED else if?gl_resultsdisclosed is missing and?gl_discloseattempt1 is not missing then?DisclosureStatus=?ATTEMPTED else missing germlinepatients$DisclosureStatus <-? ? ? ? ? ? ? ? ifelse(germlinepatients$gl_resultsdisclosed==1, "DISCLOSED", ? ? ? ? ? ? ? ? ifelse(germlinepatients$ gl_resultsdisclosed==0, "ATTEMPTED",? ? ? ? ? ? ? ? ? ? ?ifelse(is.na(germlinepatients$gl_resultsdisclosed) & germlinepatients$gl_discloseattempt1!='', "ATTEMPTED", ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?NA))) the first 3 row give me right result, but the 3rd row does not. After checking the data, there are 23 cases are?gl_resultsdisclosed is missing and?gl_discloseattempt1 is not missing.? the code doesn't has any error message. Please help? thank you
data manipulation question
2 messages · Kai Yang, Jim Lemon
Hi Kai, How about setting: germlinepatients$DisclosureStatus <- NA then having your three conditional statements as indices: germlinepatients$DisclosureStatus[germlinepatients$gl_resultsdisclosed == 1] <-"DISCLOSED" germlinepatients$DisclosureStatus[germlinepatients$ gl_resultsdisclosed == 0] <- "ATTEMPTED" germlinepatients$DisclosureStatus[is.na(germlinepatients$gl_resultsdisclosed) & germlinepatients$gl_discloseattempt1 != "ATTEMPTED"] <-"ATTEMPTED" I know it's not elegant and you could join the last two statements with OR (|) but it may work. Jim On Tue, Aug 24, 2021 at 9:22 AM Kai Yang via R-help
<r-help at r-project.org> wrote:
Hello List,
I wrote the script below to assign value to a new field DisclosureStatus.
my goal is if gl_resultsdisclosed=1 then DisclosureStatus=DISCLOSED
else if gl_resultsdisclosed=0 then DisclosureStatus= ATTEMPTED
else if gl_resultsdisclosed is missing and gl_discloseattempt1 is not missing then DisclosureStatus= ATTEMPTED
else missing
germlinepatients$DisclosureStatus <-
ifelse(germlinepatients$gl_resultsdisclosed==1, "DISCLOSED",
ifelse(germlinepatients$ gl_resultsdisclosed==0, "ATTEMPTED",
ifelse(is.na(germlinepatients$gl_resultsdisclosed) & germlinepatients$gl_discloseattempt1!='', "ATTEMPTED",
NA)))
the first 3 row give me right result, but the 3rd row does not. After checking the data, there are 23 cases are gl_resultsdisclosed is missing and gl_discloseattempt1 is not missing. the code doesn't has any error message.
Please help
thank you
[[alternative HTML version deleted]]
______________________________________________ R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.