Я хотел бы создать эффективный оператор ifelse, чтобы, если столбцы из df2 совпадали со столбцами из df1, то эта строка в df2 кодировалась определенным образом. Мой код работает, но очень неэффективен.
Пример данных:
df1
A B C
111 2 1
111 5 2
111 7 3
112 2 4
112 8 5
113 2 6
Df2
A B
112 2
111 2
113 2
111 5
111 7
112 8
Желаемый результат:
Df2
A B C
112 2 4
111 2 1
113 2 6
111 5 2
111 7 3
112 8 5
Что я сделал, так это:
Df2$C<- ifelse(Df2$A == 111 & Df2$B == 2, 1, 0)
Df2$C<- ifelse(Df2$A == 111 & Df2$B == 5, 2, 0)
Df2$C<- ifelse(Df2$A == 111 & Df2$B == 7, 3, 0)
...
Это работает, но есть ли способ, чтобы df2 мог ссылаться на столбцы в df1 и создавать столбец df2 $ C, чтобы каждую комбинацию не нужно было печатать вручную?