Another way to do this is with the dplyr recode function. Below is an example, using the built-in iris data frame. If you provide a data sample that looks like your real data, we can provide a tailored version of this approach.
In the first step, we create a named vector with the current and recoded values.
library(tidyverse)
level_key = c(30,60,90) %>% set_names(levels(iris$Species))
level_key
setosa versicolor virginica
30 60 90
Now we use the recode function to apply the transformation:
iris = iris %>%
mutate(Species.recode = recode(Species, !!!level_key))
iris %>% group_by(Species, Species.recode) %>% tally
Species Species.recode n
1 setosa 30 50
2 versicolor 60 50
3 virginica 90 50