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ś ...;)