我想计算行/纬度坐标对之间的距离 . 这可以通过earth.dist等各种功能轻松完成 . 我被困的地方是,我希望这是每晚数据质量检查过程的一部分,其中对的数量会发生变化 . 每一行都是独特的主题/人 . 有些日子,一些科目可以有四组坐标,有些日子最大可能是三组 . 是否有一种优雅的方式来执行此计算,例如,使用由以下形式形成的所有可能组合:
combn(geototal, 2])
,其中geototal是给定日期的坐标集数,例如x = 4表示集合:
latitude.1,longitude.1,latitude.2,longitude.2,latitude.3,longitude.3 latitude.4,longitude.4 .
我当前的循环看起来像这样,但当然错过了许多可能的组合,尤其是当X大于4时 .
x = 1; y = 2
while(x <= geototal)
{
if (y > geototal) break;
eval(parse(text = sprintf("df$distance%d_%d = earth.dist(longitude.%d,latitude.%d,longitude.%d,latitude.%d)", x, y, x, x, y, y)));
x <- x + 1;
y <- y + 1;
}
感谢您对此的任何想法!
1 回答
尝试这样的事情