考虑以下示例数据:
library(tidyverse)
dt <- tibble(Poison = c('Arsenic', 'Arsenic in Wine', 'Cyanide', 'Cyanide and Sugar'),
Result = c('Death', 'Death With Class', 'Death', 'Death'))
我想创建一个列, for each 组指定一个标识号.然而,我希望通过字符串检测将毒物分组在一起,即,"砷"和"wine中的砷"是一组,"氰化物"和"氰化物和糖"是另一组.目前,R认 for each 组都是自己的,这样:
dt <- dt %>%
group_by(Poison) %>%
mutate(Group = n())
# A tibble: 4 × 3
# Groups: Poison [4]
Poison Result Group
<chr> <chr> <int>
1 Arsenic Death 1
2 Arsenic in Wine Death With Class 1
3 Cyanide Death 1
4 Cyanide and Sugar Death 1
我希望它是这样,'砷'和'wine中的砷'是第一组,和'氰化物'和'氰化物和糖'是第二组.有什么 idea 吗?