Сложный заголовок, но вот простой пример того, чего я пытаюсь достичь:
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"))
Значения в d$v2
следует заменить значениями в m$v4
путем сопоставления значений из d$v2
в m$v3
. Результирующий фрейм данных d
должен выглядеть как:
v1 v4
1 a
2 e
3 c
4 b
5 b
6 c
7 a
8 e
Я пробовал разные вещи, и ближе всего я подошел к:d$v2 <- m$v4[which(m$v3 %in% d$v2)]
Я снова стараюсь избегать циклов for -! Должно быть возможно :-)как-то... ;)