緯度/経度座標の行単位のペア間の距離を計算したいと思います。これは、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;
}
これについて何か考えてくれてありがとう!