2

geoRパッケージが共分散関数を計算する方法を誰かが私に説明できるかどうか疑問に思いましたか?手でどうやってやるの?

library(geoR)
#suppose I have the following coordinates
X = c(60,30,20,40)
Y = c(50,20,50,50)
my_coordinates = cbind(X,Y)
print(my_coordinates)

#computing covariance
my_cov= varcov.spatial(my_coordinates,cov.model="exp", cov.pars=c(0.2,25))
print(my_cov)

そして、あなたは得る:

         [,1]       [,2]       [,3]       [,4]
[1,] 0.20000000 0.03664442 0.04037930 0.08986579
[2,] 0.03664442 0.20000000 0.05645288 0.05645288
[3,] 0.04037930 0.05645288 0.20000000 0.08986579
[4,] 0.08986579 0.05645288 0.08986579 0.20000000

ただし、Matlabでも実行することをお勧めします。

4

1 に答える 1

3

パッケージまたは関数がどのように機能するかを知る最良の方法は、ソースコードを調べることです。これはオープンソースプロジェクトの素晴らしい点の1つであり、これを行うことができます。

varcov.spatial関数定義については、解凍されたパッケージtarボールを入力または検索してみてください

共分散(ポイント間の距離に依存)を計算するには、次のように計算する必要があります。

  • ポイント間の距離(対称になるため、実際には下の三角形のみが必要です)
  • 各距離での共分散関数の値
  • これらの計算された共分散から完全な対称分散共分散行列を形成します。

共分散関数はで定義されてい?cov.spatialます。cov.spatialあなたはこれらを計算するために呼び出すことができますR(正確には何をしますかgeoR::varcov.spatial

于 2013-03-19T22:27:51.717 に答える