У меня есть 2 кадра данных, которые мне нужно выполнить.Цитирование и сравнение значений в 2 кадрах данных в R
Df1[1:5,]
year month Vol
1 2015 7 4.82e-05
2 2015 6 5.91e-05
3 2015 5 6.56e-05
4 2015 4 6.10e-05
5 2015 3 7.85e-05
Df2[1:5,]
year month IB
1 2015 7 0
2 2015 4 1
3 2015 3 0
4 2015 6 1
5 2015 5 0
мне нужно перебрать DF1
, сравнить месяцы с DF1
и DF2
, и если они совпадают, то установите DF1$IB<-DF2$IB
. Я попытался с помощью sapply
, но я получаю эту ошибку
tmp<-sapply(DF1$month,function(x){if(DF2$month==x){
DF1$IB<-DF2$IB
}})
Warning messages:
1: In if (DF2$month == x) { :
the condition has length > 1 and only the first element will be used
.....
Любая помощь будет принята с благодарностью. В противном случае мне пришлось бы прибегать к нескольким циклам, а так как DF1
имеет длину в 900 тыс. Строк, а DF2
- 300 строк в длину, что кажется мне очень неэффективным.
Вы пробовали 'merge'? – akrun
Что делать, если они не равны? –