我的代码运行良好,但如何将3行代码合并为1?
基本上我需要创建这些额外的帮助QC列,我也将其从其他SAS代码(其他人拥有)转换为R,目标是只翻译它,而不是质疑它。
目标是在满足条件时,在数据集的末尾附加3个额外的列N,C和K.
TEST <- FINAL %>% filter(is.na(NAME)) %>% mutate(N = 1)
TEST <- FINAL %>% filter(is.na(COUNTRY)) %>% mutate(C = 1)
TEST <- FINAL %>% filter( CATEGORY == 'T' & (BEGN_DT <= 20170302 & END_DT >= 20170312) ) %>% mutate(K = 1)
答案 0 :(得分:1)
mutate
的条件dplyr
仍为a work-in-progress,但可以这样做:
mtcars %>%
mutate(x = case_when(.$cyl == 6 ~ 1)) %>%
mutate(y = case_when(.$am == 1 ~ 9)) %>%
mutate(z = case_when(is.na(.$x) ~ 5))
答案 1 :(得分:0)
我们可以在没有filter
FINAL %>%
mutate(N = as.integer(is.na(NAME)),
C = as.integer(is.na(COUNTRY)),
K = as.integer(CATEGORY == 'T' & (BEGN_DT <= 20170302 & END_DT >= 20170312)))
这将导致二进制列的1
对应于条件的TRUE值,0
对应于其他情况。