1

緯度/経度座標の行単位のペア間の距離を計算したいと思います。これは、earth.dist などのさまざまな関数を使用して簡単に実行できます。私が立ち往生しているのは、これをペアの数が変化する夜間のデータ品質チェックプロセスの一部にしたいということです。各行は一意の件名/人物です。少数の被験者が 4 セットの座標を持つ日もあれば、最大で 3 セットになる日もあります。たとえば、以下によって形成されるすべての可能な組み合わせを使用して、この計算を実行するエレガントな方法はありますか?

combn(geototal, 2])

ここで、 geototal は特定の日の座標セットの数です。たとえば、セットの x = 4:

緯度.1、経度.1、緯度​​.2、経度.2、緯度.3、経度.3 緯度.4、経度.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;
}

これについて何か考えてくれてありがとう!

4

1 に答える 1