【发布时间】:2017-07-20 23:03:45
【问题描述】:
我有 2 个如下所示的数据文件:
Model Data
long lat count
96.25 18.75 4
78.75 21.25 3
86.75 23.25 7
91.25 33.75 10
Observation Data
long lat count
96.75 25.75 10
86.75 23.25 7
78.75 21.25 11
95.25 30.25 5
我正在尝试减去匹配的纬度/经度组合(模型数据观察数据)的计数,这样 78.75 和 21.25 的第一个组合将给出 -8 的差异计数。任何没有匹配项的纬度/经度点都将被减去 0 或从 0 中减去。
我尝试了一个 if 语句来匹配减法点:
if (modeldata$long == obsdata$long & modeldata$lat == obsdata$lat) {
obsdata$difference <- modeldata$count - obsdata$count
}
但是,这只是按顺序减去行,而不是通过匹配点,除非匹配点恰好落在同一行内。
我也收到以下警告:
警告信息:
1:在 modeldata$long == obsdata$long 中: 较长的对象长度不是较短对象长度的倍数
2:在 modeldata$lat == obsdata$lat 中: 较长的对象长度不是较短对象长度的倍数
3: 在 if (modeldata$long == obsdata$long & modeldata$lat == : 条件的长度 > 1,并且只使用第一个元素
任何帮助将不胜感激!
【问题讨论】:
标签: r if-statement dataframe latitude-longitude