2016-08-31 5 views
-2

私は助けが必要です!私は単一のポイント(例えば287,347)に関連して設定したい点のリスト(mydata X、Y =緯度、経度)を持っています。私はちょうどこの単一の参照点に向かって点のリストの間の距離を測定(そしてポーリング)したいと思う。しかし、私はそれを取得しません。私はPCAを試みましたが、そこに私の具体的な参照点を設定することはできません。
これを行う方法を知っている人はいますか?座標データ(x点、y点)と特定の参照点との距離を測定する方法(Rを使用)

MYDATA:distance formulaを使用して

X,Y 
260,204 
409,208 
260,60 
272,181 
367,257 
315,208 
381,294 
66,333 
246,220 
330,207 
342,304 
... 
+4

'mydata $ distance = sqrt((mydata $ X - 287)^ 2 +(mydata $ Y - 347)^ 2)'と計算してください。距離を計算するためにPCAは必要ありません。 – Gregor

+0

今後、* minimal *の例を考えてみてください。 6が行うときに276行のデータを共有する理由はありません。 – Gregor

+0

次に、エラーが発生します。 '$ < - 。data.frame'( '* tmp *'、 "distance"、value =数値(0)): 置換行は0行、データは276です –

答えて

1

、これは些細な計算です:

mydata$distance = sqrt((mydata$X - 287)^2 + (mydata$Y - 347)^2) 

私はあなたが距離の希望のプロットがどんなものなのかわからない - おそらく、ヒストグラムを?

hist(mydata$distance) 
+0

ありがとう!これをヘッドマップとしてプロットする方法はありますか? –

+0

Rでヒートマップを作る方法の例を見つけることができると確信しています。ヒートマップの通常のデータではありません。 x軸、y軸、色の意味を考えてください。 – Gregor

+0

これらが緯度と経度であって、明らかにそうでなかった場合は、グレートサークル距離を計算するパッケージをロードする方が意味があります。 –

2

あなたが望むのはユークリッド距離だけですが、それを行うには自分の機能を作りませんか?

distance <- function(x, y, home= c(0,0)) sqrt((x-home[1])^2+(y-home[2])^2) 
plot(distance(400*runif(100), 400*runif(100), c(287, 347))) 
0

ゲオルクのような距離を計算して密度関数を使って計算しました。

mydata <- read.table("blabla.csv", sep=",") 

mydata$distance = sqrt((mydata$V1 -555)^2 + (mydata$V2 - 85)^2) 

d <- density(mydata$distance) 

plot(d) 

これはKernel regression(KDE)のようなものだと思いますか?

関連する問題