(序文:私は統計学者でもプログラマーでもない。私は人文科学で働くので、私の魂に慈悲を)。ユークリッド距離計算はRが成立しない
私は(DISTを使用してきたR.における一連の点間のユークリッド距離を計算する必要が)、次のように:
> x <- c(0,0)
> y <- c(0,10)
> dist(rbind(x,y))
x
y 10
をこれまでのところ、とても良いです。しかし、私が(実数で)私の結果を見ていたら、彼らはひどく怒っていました。私のRスクリプトが間違った列からデータを取得していると思ったほどです。しかし、私は点検した、そしてそうではない。
私はおもちゃの番号で遊び始めました。私は驚いていました。 (横線)以下が行うように、上記の例(縦線)は、正常に動作:
> x <- c(0,10)
> y <- c(0,0)
> dist(rbind(x,y))
x
y 10
しかし、ライン2点フォームが対角線である場合、違和感が行なわれる:
> x <- c(0,10)
> y <- c(0,10)
> dist(rbind(x,y))
x
y 0
A距離0?ハァッ?それは正しいことではありません。
そしてポイントは(それが私のデータでは十分に可能です)、私たちはウサギの穴を下る同じ場合:
> x <- c(0,0)
> y <- c(10,10)
> dist(rbind(x,y))
x
y 14.14214
は、これが0になるべきではないでしょうか。結局のところポイントは同じなので、それらの間には距離がありません。
dist()に何か問題がある場合は、私は手動でWikipediaを使って数式を実装しようとしました。同じ結果:
> sqrt(sum((x - y)^2))
[1] 14.14214
私が上で述べたように、私の計算のバックグラウンドは最小であるため、ここのエラーは私のものだと全然期待しています。もしそうなら、それが何であるか、それを修正する方法を説明してください。しかし、私が今立つところから、何かが非常に間違っているように思えます。
そして、最悪の場合、データを分析することはできません。
+1明確な最初の投稿については、ドキュメントのガイドラインに従ってください。 –