r-在Dplyr中使用case_when创建新列时出现问题



我正在尝试在我的数据帧中创建一个新列,该列将只包含我们在其中设置的接收器。我已经检查了这里的其他页面,但我仍然收到相同的错误:

<error/dplyr:::mutate_error>mutate()输入ER出现问题。x情形1(Receiver %in% c("1326", "1315", "1314", "1321", "1404", "1318", "1325", "1313...(必须是双边公式,而不是逻辑向量。i输入CCD_ 4是CCD_。回溯:运行rlang::last_trace()以查看完整上下文。

我试过:

ev<-ev %>% 
select(Receiver) %>% 
mutate(ER=case_when(c(Receiver=="1315"|
Receiver=="1314"|
Receiver=="1321"|
Receiver=="1404"|
Receiver=="1318"|
Receiver=="1325"|
Receiver=="1313"|
Receiver=="1323"|
Receiver=="1324"|
Receiver=="1320"|
Receiver=="1319"|
Receiver=="1317")))

和:

ev<-ev %>%   
mutate(ER=case_when(Receiver %in% c("1326", "1315", "1314", "1321", "1404", "1318", "1325", "1313", "1323", "1324", "1320", "1319", "1317")))

非常感谢任何能告诉我哪里出了问题的帮助。

假设您有两项研究,study_Astudy_B。然后,您需要添加替换值,例如,仅为给定字符串中的两个添加替换值:

ev <- ev %>%
mutate(ER = case_when(Receiver == "1326" ~ "study_A", 
Receiver == "1315" ~ "study_B"))

最新更新