У меня есть два кадра данных DF1, DF2 каждый с двумя векторами DF1 $ A DF1 $ B, DF2 $ C, DF3 $ D. Мне нужно развернуть каждую строку в DF1, и если значение в DF1 $ B равно некоторому значению в DF2 $ C, мне нужно показать соответствующее значение в DF2 $ D.
Я пытался решить эту проблему, используя ifelse и% в%, но безуспешно. Я не понимаю, почему это не работает.
У меня есть:
DataFrame1 (DF1)
A B
10 2
11 1
13 3
15 5
25 2
45 4
DataFrameB (DF2)
C D
1 A
2 B
3 C
4 D
5 E
6 F
Что я делаю:
DF1 <- data.frame(c(10, 11, 13, 15, 25, 45), c(2, 1, 3, 5, 2, 4))
DF2 <- data.frame( c(1, 2,3,4,5,6), c("A", "B", "C", "D", "E", "F"))
names(DF1) <-c("A","B")
names(DF2) <-c("C", "D")
ifelse((DF1$B %in% DF2$C), DF2$D, "NA")
Что я получаю:
[1] 1 2 3 4 5 6
Что я ожидал получить:
[1] B A C E B D
Как мне этого добиться?