0

次の Matlab コードを使用して、Ripley の K 関数を推定しています。

a = 0;
b = 50;
C_x = a + (b-a).*rand(100,1);
C_y = a + (b-a).*rand(100,1);

locs = zeros(length(C_x),2);
locs(:,1) = C_x;
locs(:,2) = C_y;

dist = a:1:b;
K_t = RipleysK(locs, dist, [a, b, a, b]);
plot(dist,K_t);
title('$\hat{K}$ function','Interpreter','latex','FontSize',14);
xlabel('$r$','Interpreter','latex','FontSize',14);
ylabel('$\hat{K}(r)$','Interpreter','latex','FontSize',14);
csvwrite('test.csv',locs);

「RipleysK」関数は、http: //www.colorado.edu/geography/class_homepages/geog_4023_s07/labs/lab10/RipleysK.mにあります。

比較のために、私は次の R スクリプトを使用しています。

mydata <- read.csv("test.csv",header=F)
mydata
w <- owin(xrange = c(0,50),yrange = c(0,50))
pp <- as.ppp(mydata,w)
K <- Kest(pp,correction = "none")
plot(K)

Matlab は指定された r の値 (つまり、dist) に対して K を推定しますが、R スクリプトは推定しません (r = 12.5 まで推定します)。

誰かコメントしてくれませんか?どちらが正しいですか?Rスクリプトでr値を指定できますか?

ありがとう

4

1 に答える 1