J'ai deux trames de données Rvlookup matchs de date approximative en R
Factor = data.frame(date = c("2015-10-01", "2016-01-01", "2016-04-01",
"2016-07-01", "2016-10-01", "2017-01-01"), factor = c(0.07606455,
0.07170356, 0.07127930, 0.06807735, 0.06764824, 0.06709560))
Factor =
date factor
2015-10-01 0.07606455
2016-01-01 0.07170356
2016-04-01 0.07127930
2016-07-01 0.06807735
2016-10-01 0.06764824
2017-01-01 0.06709560
Dates = data.frame(date = c("2016-01-01", "2016-01-28", "2016-01-29",
"2016-03-01", "2016-06-02", "2016-07-03", "2016-10-04", "2016-10-05"))
Dates =
date
2016-01-01
2016-01-28
2016-01-29
2016-03-01
2016-06-02
2016-07-03
2016-10-04
2016-10-05
Je cherche un type Excel pour Vlookup correspondance approximative. Je ne peux pas faire R merge
fonction que les dates ne sont pas exactes. Je ne peux pas correspondre à l'index comme dans les link ou en utilisant les différences de date min comme ci-dessous
apply(Dates, 1, function(x) min(which(abs(x - Factor$date) == min(abs(x - Factor$date)))))
Depuis que je requiers le facteur de trame de données du facteur qui est inférieur ou égal à ce jour à partir des dates dataframe. Ma sortie désirée devrait être
Output =
date factor
2016-01-01 0.07170356
2016-01-28 0.07170356
2016-01-29 0.07170356
2016-03-01 0.07170356
2016-06-02 0.07127930
2016-07-03 0.06807735
2016-10-04 0.06764824
2016-10-05 0.06764824
est-il un moyen efficace autre que boucle pour obtenir le résultat
Eh bien, c'est ce que vous obtenez pour ne pas fournir de données qui peuvent être facilement copiées. Essayez 'dt1 [dt2, on =" date ", roll = -Inf]'. –
Vous obtenez la solution désirée par 'dt1 [dt2, on =" date ", roll = Inf]'. Merci pour la réponse. – amitbisai