Dopasuj wartości w ramce danych do wartości w innej ramce danych i zastąp poprzedni odpowiednim wzorcem z innej ramki danych

Skomplikowany tytuł, ale oto prosty przykład tego, co próbuję osiągnąć:

d <- data.frame(v1 = c(1,2,3,4,5,6,7,8), 
                v2 = c("A","E","C","B","B","C","A","E"))

m <- data.frame(v3 = c("D","E","A","C","D","B"), 
                v4 = c("d","e","a","c","d","b"))

Wartości wd$v2 należy zastąpić wartościami wm$v4 dopasowując wartości zd$v2 wm$v3

Wynikowa ramka danychd powinien wyglądać tak:

v1    v4
1      a
2      e
3      c
4      b
5      b
6      c
7      a
8      e

Próbowałem różnych rzeczy, a najbliższy byłem:d$v2 <- m$v4[which(m$v3 %in% d$v2)]

Staram się ponownie unikać wszelkich pętli for-loops! Musi być możliwe :-) jakoś ...;)

questionAnswers(3)

yourAnswerToTheQuestion