Я хочу создать новый столбец на основе меток, присутствующих в другом столбце. Для простого примера предположим, что у меня есть следующий фрейм данных
> df <- data.frame(label = c("AF1", "AF2", "AO1", "AO1"), somevalue = c(1, 2, 3, 4))
> df
label somevalue
1 AF1 1
2 AF2 2
3 AO1 3
4 AO1 4
Что мне нужно сделать, это создать новый столбец на основе среднего символа в «метке». Мне удалось сделать это с помощью приведенного ниже кода, но я чувствую, что должен быть более элегантный способ сделать это, который в настоящее время мне недоступен.
> df <- df %>% mutate(newCol = NA)
> df$newCol[str_detect(df$label, "F")] <- "fairies"
> df$newCol[str_detect(df$label, "O")] <- "ogres"
> df
label somevalue newCol
1 AF1 1 fairies
2 AF2 2 fairies
3 AO1 3 ogres
4 AO1 4 ogres
Заранее спасибо.