Rを使用して、接続されたポイントのセット(経度、緯度)をクラスタリングします

ジャナカ

中心の経度(x)と緯度(y)のデータを使用しています。私の目標は、接続された場所をクラスタリングすることです。

earth_distance((x1、y1)、(x2、y2))<15 kmの場合、地球上の2つの場所(x1、y1)と(x2、y2)は接続されていると言われます。

RのdistHaversine関数を使用して、地球の距離を計算しています。

ここにいくつかのサンプルデータがあります、

x = c(1.000000、1.055672、1.038712、1.094459、1.133179、1.116241、1.126053、1.181824、1.377892、5.869881、5.925270、5.909721)

そして

y = c(1.333368,1.304790,1.347332,1.318743,1.332676,1.375229,1.572287,1.544174,2.371105,2.337032,2.383415)

また

距離<-distHaversine(c(x、y))

異なる接続されたポイントのセットによって形成された異なるクラスターを見つけたいと思います(接続された各ポイントのセットがクラスターを形成します)。

ポイントをクラスター化してプロットする方法を見ましたが、問題を解決できませんでした。

任意の参照、提案または回答は非常に高く評価されます。

スペースドマン

多分これ。最初にいくつかの座標を作成します。

> x=c(1.000000, 1.055672, 1.038712, 1.094459, 1.133179, 1.116241, 1.126053, 1.181824 ,1.377892, 5.869881, 5.925270)
> y=c(1.333368, 1.304790, 1.347332, 1.318743, 1.332676, 1.375229, 1.572287, 1.544174, 2.371105 ,2.337032, 2.383415)

データフレームにする

> xy = data.frame(x=x,y=y)

次に、を使用outerして行と列のすべてのペアをループし、完全な距離行列を計算します。これは、すべてに対して計算するiためj実際に必要な作業の2倍の作業jを実行iしますとにかく、それは私たちに距離行列を取得します:ij

> dmat = outer(1:nrow(xy), 1:nrow(xy), function(i,j)distHaversine(xy[i,],xy[j,]))

ここで、15,000メートルより近い任意のペアである接続マトリックスが必要です。

> cmat = dmat < 15000

次に、igraphパッケージを使用して接続グラフオブジェクトを作成します。

> require(igraph)
> cgraph = graph.adjacency(cmat)

これをプロットしてクラスター形成を確認できますが、これらはxy空間にプロットされていないことに注意してください。

> plot(cgraph)

次に、接続されたクラスターを取得します。

> clusters(cgraph)
$membership
 [1] 1 1 1 1 1 1 2 2 3 4 4

$csize
[1] 6 2 1 2

$no
[1] 4

したがって、データフレームに追加できるものは次のとおりです。

> xy$cluster = clusters(cgraph)$membership
> xy
          x        y cluster
1  1.000000 1.333368       1
2  1.055672 1.304790       1
3  1.038712 1.347332       1
4  1.094459 1.318743       1
5  1.133179 1.332676       1
6  1.116241 1.375229       1
7  1.126053 1.572287       2
8  1.181824 1.544174       2
9  1.377892 2.371105       3
10 5.869881 2.337032       4
11 5.925270 2.383415       4

そしてプロット:

> plot(xy$x,xy$y,col=xy$cluster)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

指定されたポイントから10km以内の緯度/経度のリストを生成します

分類Dev

RのOpenAirパッケージを使用して作成された気団の後方軌道プロットに、緯度と経度の値を持つポイントとして火災データを追加します。

分類Dev

Python:Webスクレイピング-Airbnbはリストの緯度と経度の値を取得します

分類Dev

Rの緯度/経度座標のネストされたリストをネスト解除しますか?

分類Dev

ウェイポイント(緯度と経度)を使用して方向を示すGoogleマップリンクを生成します

分類Dev

ベースマップを使用した緯度/経度ポイントのプロット

分類Dev

Pythonで緯度と経度のデータを使用して地図をプロットし、地図内のいくつかの緯度と経度のポイントを強調表示するにはどうすればよいですか?

分類Dev

PostGISポイントから緯度/経度を取得します

分類Dev

長方形を使用してリストから緯度と経度をフィルタリングする

分類Dev

SQLはバウンディングボックス内の緯度と経度のポイントを選択します

分類Dev

緯度/経度ポイントをRのシェープファイルにマップします

分類Dev

ポイント(緯度と経度)をggmapにプロットします

分類Dev

値でグループ化し、T-SQLの各グループのポイント(緯度と経度)から地理ポリラインを作成します

分類Dev

2つの経度-緯度ポイントの間にさらにポイントを生成します

分類Dev

GPSを使用し、インターネット接続を使用せずにAndroidで住所の緯度と経度を取得する

分類Dev

Linuxをラズベリーアクセスポイントに接続します。インターネットに接続されていません。

分類Dev

PHPを使用して緯度と経度を使用してポイント間の距離を取得するには?

分類Dev

インタラクティブ/リアクティブな経度と緯度のポイントのggmapを使用したRggiraph-スケールまたは軸の問題?

分類Dev

conncompを使用して、接続されたグラフコンポーネントのノードインデックスを検索します

分類Dev

R: 緯度と経度をグリッド セクションに分割します

分類Dev

現在のポイント、距離、方位を指定して緯度/経度を取得します

分類Dev

現在のポイント、距離、方位を指定して、正確な緯度/経度を取得します

分類Dev

Tableauで2セットの緯度/経度ポイントを表示する

分類Dev

2つのグーグルマップポイント(緯度と経度)を使用してmongodbクエリから正方形の領域データを検索するには

分類Dev

緯度と経度の配列からMapboxを使用してポリラインを描画する-Swift3 iOS

分類Dev

Googleマップは複数の緯度経度の間にポリラインを描画します

分類Dev

緯度と経度を使用してルートのポリゴンを作成する

分類Dev

QGISとPostGIS(マップポイント(米国の地図上にraduisを使用した緯度と経度)

分類Dev

QGISとPostGIS(マップポイント(米国の地図上にraduisを使用した緯度と経度)

Related 関連記事

  1. 1

    指定されたポイントから10km以内の緯度/経度のリストを生成します

  2. 2

    RのOpenAirパッケージを使用して作成された気団の後方軌道プロットに、緯度と経度の値を持つポイントとして火災データを追加します。

  3. 3

    Python:Webスクレイピング-Airbnbはリストの緯度と経度の値を取得します

  4. 4

    Rの緯度/経度座標のネストされたリストをネスト解除しますか?

  5. 5

    ウェイポイント(緯度と経度)を使用して方向を示すGoogleマップリンクを生成します

  6. 6

    ベースマップを使用した緯度/経度ポイントのプロット

  7. 7

    Pythonで緯度と経度のデータを使用して地図をプロットし、地図内のいくつかの緯度と経度のポイントを強調表示するにはどうすればよいですか?

  8. 8

    PostGISポイントから緯度/経度を取得します

  9. 9

    長方形を使用してリストから緯度と経度をフィルタリングする

  10. 10

    SQLはバウンディングボックス内の緯度と経度のポイントを選択します

  11. 11

    緯度/経度ポイントをRのシェープファイルにマップします

  12. 12

    ポイント(緯度と経度)をggmapにプロットします

  13. 13

    値でグループ化し、T-SQLの各グループのポイント(緯度と経度)から地理ポリラインを作成します

  14. 14

    2つの経度-緯度ポイントの間にさらにポイントを生成します

  15. 15

    GPSを使用し、インターネット接続を使用せずにAndroidで住所の緯度と経度を取得する

  16. 16

    Linuxをラズベリーアクセスポイントに接続します。インターネットに接続されていません。

  17. 17

    PHPを使用して緯度と経度を使用してポイント間の距離を取得するには?

  18. 18

    インタラクティブ/リアクティブな経度と緯度のポイントのggmapを使用したRggiraph-スケールまたは軸の問題?

  19. 19

    conncompを使用して、接続されたグラフコンポーネントのノードインデックスを検索します

  20. 20

    R: 緯度と経度をグリッド セクションに分割します

  21. 21

    現在のポイント、距離、方位を指定して緯度/経度を取得します

  22. 22

    現在のポイント、距離、方位を指定して、正確な緯度/経度を取得します

  23. 23

    Tableauで2セットの緯度/経度ポイントを表示する

  24. 24

    2つのグーグルマップポイント(緯度と経度)を使用してmongodbクエリから正方形の領域データを検索するには

  25. 25

    緯度と経度の配列からMapboxを使用してポリラインを描画する-Swift3 iOS

  26. 26

    Googleマップは複数の緯度経度の間にポリラインを描画します

  27. 27

    緯度と経度を使用してルートのポリゴンを作成する

  28. 28

    QGISとPostGIS(マップポイント(米国の地図上にraduisを使用した緯度と経度)

  29. 29

    QGISとPostGIS(マップポイント(米国の地図上にraduisを使用した緯度と経度)

ホットタグ

アーカイブ