在 Dplyr 中使用 case_when 创建新列时遇到问题

Trouble making a new column using case_when in Dplyr

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

mutate() 输入 ER 有问题。 x 情况 1 (Receiver %in% c("1326", "1315", "1314", "1321", "1404", "1318", "1325", "1313...) 必须是双面公式,而不是逻辑向量。 i 输入 ERcase_when(...)。 回溯: 运行 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"))