Следующее работает, но вам нужно установить stringsAsFactors = F
при определении фрейма данных b
a <- data.frame( x = c(1,2,3,4,10,13,12,11))
b <- data.frame( y = c(10,12,13),
z = c("A","B","C"),stringsAsFactors = F)
#
a %>% mutate(x = ifelse(x %in% b$y,b$z[match(x,b$y)],x))
Вывод
x
1 1
2 2
3 3
4 4
5 A
6 C
7 B
8 11