我想(内部)基于我有的相似性函数连接两个数据帧。 例如:基于用户定义的函数连接两个数据帧
data1<-data.frame(a=c(1,2,3),lat=c(38.862976,37.878146,36.825658), lon=c(-99.336782,-99.326054,-98.475976))
data2<-data.frame(b=c(10,20),lat=c(38.863412,37.877333), lon=c(-99.336701,-99.325151))
,并给予了相似的功能:
are.close(lat1,long1,lat2,long2)
像
data3<-join(a=data1,b=data2,by=c(lat,lon),FUN=are.close(a.lat,a.lon,b.lat,b.lon))
我希望收到的输出是:
a b lat lon
1 1 10 38.862976 -99.336782
2 2 20 37.878146 -99.326054
凡LAT/lon属于其中一个表(不管哪个,都说第一个)。
我检查的所有连接/合并方法都不允许您定义连接的发生方式。它只允许你指定像col1 = col2这样的东西。
有没有办法做到这一点在计算上是有效的(不是通过在两组上运行两个循环)?