我有一个像这样的数据框
LonSHIP LatSHIP LonINT LatINT
-179.94 -38.05 1 128
-179.93 -32.54 1 123
-179.93 -32.19 1 122
-179.93 -31.83 1 122
-179.92 -33.97 1 124
-179.92 -33.61 1 124
我想要的是在每个(有序)对(LonINT,LatINT)上关联一个数字以识别网格单元格。
E.g。
LonSHIP LatSHIP LonINT LatINT cell
-179.94 -38.05 1 128 1
-179.93 -32.54 1 123 2
-179.93 -32.19 1 122 3
-179.93 -31.83 1 122 3
-179.92 -33.97 1 124 4
-179.92 -33.61 1 124 4
请注意,例如
(1,2)!=(2,1),即它们必须具有两个不同的细胞数。
有人可以帮忙吗?
答案 0 :(得分:1)
如果您想要有序对,那么您需要先按多列排序:
dat<-dat[order(dat$LonINT,dat$LatINT,decreasing=F),]
然后您可以使用简单的公式来连接这两个值。例如,如果max(LatINT)<1000
可以执行:
gridINT=dat$LonINT*1000+dat$LatINT
编辑:嗯,实际上这个公式不需要第一个订单,因为新gridINT
标识符后面的排序应该给出相同的结果。