0
R構文ではわかりませんが、データを使って簡単な計算を行う必要があります。私はcur_sliceテーブルにリストされた各オブジェクト間の距離を計算する必要がRのループとデータセットの列と値の追加
str(cur_slice)
Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 489 obs. of 24 variables:
$ MMSI : num 2.73e+08 2.11e+08 2.72e+08 2.73e+08 2.73e+08 ...
$ LATITUDE : num 45.4 44.1 46.9 44.7 45.2 ...
$ LONGITUDE : num 36.7 28.6 32 37.8 36.5 ...
....
(空間)オブジェクト間の距離を計算する必要があります。
次のループを使用して座標の一時配列を試行しています。
> myarray <- NULL # Creates empty storage container
> for (row in seq(cur_slice)) {
cur_MMSI<- cur_slice$MMSI[raw]
cur_lon<-cur_slice$LONGITUDE[raw]
cur_lat<-cur_slice$LATITUDE[raw]
for (raw2 in seq(cur_slice)) {
if(!cur_slice$MMSI[raw2]==cur_MMSI) {
myarray<-c(myarray, cur_MMSI, cur_slice$MMSI[raw2], cur_lat, cur_lon, cur_slice$LATITUDE[raw2], cur_slice$LONGITUDE[raw2])
}
}
}
しかし:
- 私は、テーブル内のデータを得ることはありません(myarrayのは、単純なリストです)。リストではなくテーブルを取得するにはどうすればよいですか?
- 私の全体の配列が大きすぎます。例えば。サンプルのcur_sliceには489個のオブジェクトがあります。全体の配列には31962456個のアイテムがあります:31962456アイテム...行ではなく、アイテムだけです...
1つのテーブルからデータを読み取る方法それを別のテーブルに追加して(将来の計算用に)使用する必要がありますか?
あなたの答えに感謝します。 – twistfire
このコードをもっと速くするにはどうしたらいいですか?どのように入れ子になったループを削除することができますか?データフレームに動的にデータを追加することは可能ですが、十分に速いのですか? :) – twistfire
確かに、単純な言葉で適用しようとしているロジックを共有できますか? – mabdrabo