我有一个向量,它存储定性变量的所有可能的合并组合。
该向量具有以下结构:
Config = c("4 With 1 + 6 With 2 + 8 With 3","4 With 1 With 2 + 6 With 8")
这意味着具有 Config 第一个值的变量应具有 3 种模式:值 4 与 1 、值 6 与 2 、值 8 与 3
我想以动态方式为该合并的每个元素分配一个动态值,例如:
mtcars %>% mutate(Merging=case_when(carb %in% c(4,1)~"Group 1", carb %in% c(6,2)~"Group 2",carb %in% c(8,3) ~"Group 3"))
我这里的主要困难是配置的每个元素的组数不相同:对于一个配置,它可能是 3 个组,对于另一个配置,可能是 4 个组,等等。
我已经尝试过使用字符串匹配,但这种可能性仅适用于仅包含单词“With”的 1 个组:
mutate(Merging= case_when(
!!sym(VAR) %in% c(unlist(str_split(Config, " With "))) ~ "Group 1",
TRUE ~ !!sym(VAR)
))
这是一种为向量的每个元素动态执行此操作并在每次迭代时创建专用变量的方法吗?
非常感谢
可以吗