Вы можете сделать небольшую таблицу поиска префиксов. Таким образом, вы знаете, что вы правильно сопоставляете значения цилиндров с их префиксами, а не в зависимости от порядка правильности данных. Затем присоедините поиск к своим данным и вставьте.
library(dplyr)
lookup <- data.frame(
cyl = c(6, 4, 8),
prefix = letters[1:3]
)
Для случая, когда вы хотите создать префиксы на основе порядка столбца cyl
, а не жестко кодировать значения cyl
для их префиксов, вы можете создать таблицу поиска более динамически, например:
lookup <- data.frame(
cyl = unique(mtcars$cyl),
prefix = letters[seq_along(unique(mtcars$cyl))]
)
# select is just to get extra columns out of the way to show here
mtcars %>%
select(cyl) %>%
left_join(lookup, by = "cyl") %>%
mutate(new_cyl = paste(prefix, cyl, sep = ") ")) %>%
head()
#> cyl prefix new_cyl
#> 1 6 a a) 6
#> 2 6 a a) 6
#> 3 4 b b) 4
#> 4 6 a a) 6
#> 5 8 c c) 8
#> 6 6 a a) 6