Hi,
I think Mathieu wanted to know how to create formula strings from variable
names. The function "as.formula" should be able to do what he is looking
for.
as.formula(paste(names(meuse)[4],"~",names(meuse)[6]) )
is an alternative way of calling a function with the formula zinc~dist,
knowing that these are the 4th and 6th column respectively:
library(automap)
data(meuse)
coordinates(meuse) =~ x+y
names(meuse)
v1 =
autofitVariogram(as.formula(paste(names(meuse)[4],"~",names(meuse)[6])
), meuse)
v1
v2 = autofitVariogram(zinc~dist,meuse)
v2
Cheers,
Jon
Paul Hiemstra wrote:
Hi mathieu,
I'm not sure if I understand what your last question is. Why do you want
to modify "z~1" if z is your data column name? If you want "variable~1" to
work you need to change your column name to variable.
cheers,
Paul
mathieu grelier wrote:
Hi,
Yes, autokrige deals with duplicates.
But I found there were two problems, and the first come from the way
autokrige calls the krige function from gstat.
Edzer, you gave the answer : it was necessary to specify "nmax=30" in
Automap doesn't do it and adding this argument to the call remove the
"memory.c" problem.
The second problem (dimensions do not match) comes from the formula
parameter for the krige function.
If your data column is z, and you want to perform ordinary kriging,
you have to specify z~1.
In my case, I only know the data column name at execution time as it
is a parameter in my script.
And I must admit that I didn't achieve to find the right code to pass
this parameter to the formula argument.
Basically "variable~1" doesn't work and I don't know why exactly.
It was my code that was wrong and if I use hard code to give the
formula argument to the autokrige call, it works fine.
So last question is :
-how can I modify "z~1" in the krige formula to be able to use my data
column parameter??
Thanks
Mathieu
2008/4/7, Edzer Pebesma <edzer.pebesma at uni-muenster.de>:
The following worked for me, although I didn't understand the result:
> zd = zerodist(sitesR)
> kriging_result = krige(valeur~1, sitesR[-zd[,1],], mask_SG, vgm(1,
300), nmax = 30)
of course arbitrarily throwing away the first of each location-paired
point, choosing an nmax, and some nonsense variogram.
Please keep r-sig-geo in the mail loop.
--
Edzer
mathieu grelier wrote:
Ok,
I've just tried to use zerodist before calling the autoKrige
but the error remains the same (memory_c...).
Did you manage to perform the local kriging? You said there was
I forward this message to the author of automap.
I don't know if automap can handle this situation.
Paul, please could you give us an answer about last question from
Thanks
Mathieu
---------- Forwarded message ----------
From: Edzer Pebesma <edzer.pebesma at uni-muenster.de>
Date: 7 avr. 2008 12:42
Subject: Re: [R-sig-Geo] dimensions do not match
To: mathieu grelier <greliermathieu at gmail.com>,
r-sig-geo at stat.math.ethz.ch
Thanks Mathieu, for sending me the data off-line.
If you have a massive data set, you should use kriging within a
neighbourhood to prevent forming and inverting a covariance matrix
4.3 Gb (24067 records, squared, times 8 bytes per double). You may
to convince the author of automap to take care of this,
When applying local kriging to your data set, I get the error
> k = krige(valeur~1,sitesR,mask_SG,vgm(1,
[using ordinary kriging]
"chfactor.c", line 130: singular matrix in function LDLfactor()
Error in predict.gstat(g, newdata = newdata, block = block, nsim =
LDLfactor
which is usually, and in this case as well, due to duplicate
Does automap take care of them, and if yes how?
--
Edzer
mathieu grelier wrote:
Ok, this is the data I use and the commands.
It is really weird because I use R CMD within grass and I can't
reproduce exactly the same error message when I follow the
directly in R.
This is the message I get now :
"memory.c", line 57: can't allocate memory in function m_get()
Error in predict.gstat(g, newdata = newdata, block = block, nsim =
m_get
But, I already had this memory error when working on big datasets.
In the same way, I looked on the archives to see if this memory
problem could be solved and I didn't find anything.
Do you know it?
Thanks.
Mathieu
2008/4/6, Edzer Pebesma <edzer.pebesma at uni-muenster.de>:
Please send me the data as a .RData R data file, along with the
led to the error message.
--
Edzer
mathieu grelier wrote:
A question about a problem already described in this list (
didn't find any answer.
I am trying to achieve ordinary kriging using gstat (via the
package) in GRASS with a big dataset (24067 points).
After the program removes duplicate data, I get the following
"Error : dimensions do not match: locations 39916 and data
I don't have any NAs apparently.
Checking logfile, I could see that the error is occurring in
function.
Is there a known way to fix this problem?
Maybe I can send my data, but I don't send it for now to the
weight is ~1Mo.
Thanks
Mathieu
[[alternative HTML version deleted]]