1
私は1000万行以上のデータフレームを持っています。 私はlat-lonペア間の距離を数え、それらをnem列に追加したいと思います。 私はスクリプトを実行しようとしましたが(下記参照)、時間がかかりすぎる(5時間以上)。 どのようなヒントをすればこのプロセスのスピードを上げることができますか?私は地圏のパッケージを使って、緯度と経度のペアの距離を数えます。カウント距離が長すぎます
for (i in seq_len(nrow(dm_kekk)))
{
dm_kekk$dist[i]<-distm (c(dm_kekk$lon[i], dm_kekk$lat[i]),
c(dm_kekk$lon_ok[i], dm_kekk$lat_ok[i]),
fun = distHaversine)
}
ありがとう!!!
Thxをを使用しています。 dplyrはエラーを起こすので、正しいコードは 'mutate(dist = distm(cbind(lon、lat)、cbind(lon_ok、lat_ok)、fun = distHaversine))'のようになります。 – deaux
HI @deaux、解決策がうまくいけば問題を正しいものにしてください。また、ベンチマーキングを行って、最適なソリューションを見つけましたか? –
hi @ Hanjo Jo'burg Odendaal! dplyrの方がはるかに速く、次に平行な方法です。しかしdistmの構文は間違っていました。正しいコードは 'mutate(dist = distm(cbind(lon、lat)、cbind(lon_ok、lat_ok)、fun = distHaversine))'のようになります。 – deaux