У меня есть датафрейм df с символьной переменной и fromvec и tovec.
df <- tibble(var = c("A", "B", "C", "a", "E", "D", "b"))
fromvec <- c("A", "B", "C")
tovec <- c("X", "Y", "Z")
Используйте строки из fromvec, отметьте их в df, а затем замените их соответствующими строками в tovec, чтобы «A» в df заменялось на «X», «B» на «Y» ии так, чтобы получить требуемый_df.
desired_df <- tibble(var = c("X", "Y", "Z", "X", "E", "D", "Y"))
Я пытался следовать, но не получил желаемого результата!
from_vec <- paste(fromvec, collapse="|")
to_vec <- paste(tovec, collapse="|")
undesired_df <- df %>%
mutate(var = str_replace(str_to_upper(var), from_vec, to_vec))
т.е. это
tibble(var = c("X|Y|Z", "X|Y|Z", "X|Y|Z", "X|Y|Z", "E", "D", "X|Y|Z"))
Пожалуйста, помогите мне получить требуемый_df.