2016-12-03 11 views
0

データフレームの最初の点からの距離と方位に基づいて位置点を分類しようとしています。このコードは動作していますが、df$dist列からの距離のみをチェックします。R - データフレームを2つの列で切断する

df$circle_id = cut(df$dist, seq(0,41000000,1000), labels=FALSE, include.lowest=TRUE) 

私は何をしたいポイントのベアリングが同じである場合もを確認している、とだけにして、彼らは同じカテゴリに入れることができます。ベアリングはdf$bearingに格納されています。

は簡単に言えば、私は一つにこれらの2つの操作を組み合わせる必要がある:

df$circle_id = cut(df$dist, seq(0,41000000,1000), include.lowest=TRUE) 
df$circle_id = cut(df$bearing, seq(-180,180,10), labels=FALSE, include.lowest=TRUE) 

サンプル・データ・フレーム:

latitude longitude sensor_time circle_id segment_id weight  dist bearing 
1 48.15144 17.07569 1447149703   1   1  2 0.000000 -180.00000 
3 48.15404 17.07452 1447149743   3   1  1 302.422843 163.22826 
4 48.15277 17.07514 1447149762   2   1  1 153.179367 164.50437 
5 48.15208 17.07538 1447149771   1   1  1 74.666669 161.91792 
6 48.15461 17.07560 1447149773   3   1  3 353.106770 178.87100 
9 48.15139 17.07562 1447149811   1   1  2 7.828957 43.83916 

すべてのヘルプは高く評価され、あなたが設定した場合、 は

+2

'labels'パラメータを設定します。 – alistaire

答えて

1

ありがとうlabelsパラメータをFALSEに設定すると、cut -functionは整数を返します。例:

> x <- sample(1:10) 
> cut(x, seq(0,10,2)) 
[1] (6,8] (8,10] (2,4] (4,6] (2,4] (0,2] (8,10] (0,2] (6,8] (4,6] 
Levels: (0,2] (2,4] (4,6] (6,8] (8,10] 
> cut(x, seq(0,10,2), labels = FALSE) 
[1] 4 5 2 3 2 1 5 1 4 3 
+0

はい、ありがとう、私は誰かが問題の最初の部分を解決する方法を知っている場合は、私は今待っている:) – ayshelina

関連する問題