Greetings!

I am a new Julia user and have the following issue. I am writing code to 
calculate a knn spatial weight matrix to estimate a spatial econometric 
model. Using the MATLAB code from Jim LeSage's Econometrics Toolbox, I 
converted that code into Julia as follows:

xc = rand(8);

yc = rand(8);

n = length(xc);

k = 2;

distance = zeros(n);

nnlist = zeros(n,k);

tempw = zeros(n,n);


for i=1:n;

    xi = xc[i,1];

    yi = yc[i,1];

    distance = (xc - xi*ones(n)).^2 + (yc - yi*ones(n)).^2

    temp = sortperm(distance)

    nnlist[i,1:k] = temp[2:k+1,1]';

end


for i=1:n

tempw[i,nnlist[i,:]] = 1;

end


W = tempw/k;


This is a "toy" example and I was wondering if I can use the Distance package 
to simplify the distance = (xc - xi*ones(n)).^2 + (yc - yi*ones(n)).^2 formula. 
I tried using the pairwise option like so:


R = pairwise(Euclidean(),xc,yc) but received the following message:


R = pairwise(Euclidean(),xc,yc)

MethodError(pairwise,(Euclidean(),[0.05961066617957589,0.018538084399339905,0.39282193332224646,0.7006919213133509,0.5099836895629475,0.8448415935222402,0.2985674570217043,0.8022287058003177],[0.5808687231553928,0.9655167324458858,0.026306556019434435,0.6565373244339141,0.11927452074471412,0.11873635450496622,0.6271632933770979,0.7081439899673692]))

I'd like to be able to utilize the Distance package but am a bit stumped. The 
code as written works but it's bugging me that I cannot seem to get the above 
command to work. I also get the following error when loading Distance:


using Distance

Warning: could not import Base.foldl into NumericExtensions

Warning: could not import Base.foldr into NumericExtensions

Warning: could not import Base.sum! into NumericExtensions

Warning: could not import Base.maximum! into NumericExtensions

Warning: could not import Base.minimum! into NumericExtensions


If there is anyone who can address this I'd greatly appreciate it. 
Incidentally, the help on this group is one reason I am making the change.


Don




Reply via email to