Простой подход заключается в создании именованного вектора, скажем types
, для использования в качестве
таблица поиска, чтобы связать префиксы с группами. Затем вы можете извлечь
префикс из столбца id
и индексировать вектор поиска, чтобы найти
название соответствующей группы:
df <- data.frame(id = c("C-1", "P-2", "P-3", "C-2"))
types <- c(C = "Cheese", P = "Pork")
df$typ <- types[substr(df$id, 1, 1)]
df
#> id typ
#> 1 C-1 Cheese
#> 2 P-2 Pork
#> 3 P-3 Pork
#> 4 C-2 Cheese
Если вы хотите добавить дополнительные группы, все, что вам нужно сделать, это добавить еще
Отображения префиксной группы в векторе, действующем как справочная таблица:
df <- data.frame(id = c("Ch-1", "Po-2", "Po-3", "Ca-2"))
types <- c(Ca = "Candy", Ch = "Cheese", Po = "Pork")
df$typ <- types[substr(df$id, 1, 2)]
df
#> id typ
#> 1 Ch-1 Cheese
#> 2 Po-2 Pork
#> 3 Po-3 Pork
#> 4 Ca-2 Candy
Если вы хотите разрешить использование префиксов различной длины, вы можете
взгляните на регулярные выражения для извлечения их из столбца id
.
Создано в 2018-05-02 пакетом Представ (v0.2.0).