我有一个数据集 df_ae。 我创建了一个模式列表:
main_modals <- c("X ray Units Static", "X ray Units Mobile", "CT", "Mammography", "MRI", "Nuclear Medicine", "Ultrasound")
我想创建一个新列,如果“模态”列中存在主要模态之一,则给出“优先级”;如果没有主要模态存在,则给出“非优先级”。
我尝试了以下代码:
df_ae$main_modal <- df_ae %>% ifelse(Modality == main_modals, "PRIORITY", "NON-PRIORITY")
但是我收到以下错误:
Error in ifelse(., Modality == main_modals, "PRIORITY", "NON-PRIORITY") :
unused argument ("NON-PRIORITY")
您可以使用 dplyr 包和 case_when 中的 mutate 函数。这不是 ifelse 函数的任务。
library(dplyr)
main_modals <- c("X ray Units Static", "X ray Units Mobile", "CT", "Mammography", "MRI", "Nuclear Medicine", "Ultrasound")
df_ae <- df_ae %>%
mutate(main_modal = case_when(
any(Modality %in% main_modals) ~ "PRIORITY",
TRUE ~ "NON-PRIORITY"
))