【发布时间】:2020-04-03 11:58:34
【问题描述】:
所以我有两个数据框,df1 包含几千个 GPS 索引和天气数据,df2 包含动物的目击及其 GPS 索引(df1 比 df2 长)。
示例(df1 = 变量,df2 = 目击事件):
variables <- data.frame(gpsindex=c(100, 200, 300, 400, 500, 600), weather=c(3, 2, 1, 5, 4, 3))
sightings <- data.frame(gpsindex=c(199, 310, 324, 510), speciesindex=c(1, 2, 3, 4))
> variables
gpsindex weather
1 100 3
2 200 2
3 300 1
4 400 5
5 500 4
6 600 3
> sightings
gpsindex speciesindex
1 199 1
2 310 2
3 324 3
4 510 4
我的目标是使用sightings 中的gpsindex 在variables 中提取适当的weather 值,然后将其添加回sightings 数据框。
gpsindex speciesindex weather
1 199 1 3
2 310 2 1
3 324 3 1
4 510 4 4
像这样。但是,要提取正确的weather 值,gpsindex 需要位于第 1&2、2&3 行等之间。多个目击事件也可能在同一个gpsindex 区间内。
我已经通过 StackOverflow 搜索了大约一周,但我找不到任何讨论此技术的线程。或者(更有可能)我正在寻找错误的东西/使用错误的词汇。
有人有什么建议吗?
【问题讨论】:
-
变量中的
gpsindex是否总是100的倍数? -
没有。它大约有 330 000 个 GPS 点,在 df 中随机变化