[R-sig-Geo] Fwd: dimensions do not match

Paul Hiemstra p.hiemstra at geo.uu.nl
Thu Apr 10 10:21:04 CEST 2008


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 the call.
> 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, "Exp",
>> 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 function
>>> but the error remains the same (memory_c...).
>>> Did you manage to perform the local kriging? You said there was still an
>>>       
>> error.
>>     
>>> 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 edzer?
>>>
>>> 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 local
>>> neighbourhood to prevent forming and inverting a covariance matrix of
>>> 4.3 Gb (24067 records, squared, times 8 bytes per double). You may try
>>> to convince the author of automap to take care of this, automatically.
>>>
>>>  When applying local kriging to your data set, I get the error message:
>>>
>>>  > k = krige(valeur~1,sitesR,mask_SG,vgm(1, "Exp",300),
>>>       
>> nmax=30)
>>     
>>>  [using ordinary kriging]
>>>
>>>  "chfactor.c", line 130: singular matrix in function LDLfactor()
>>>  Error in predict.gstat(g, newdata = newdata, block = block, nsim = nsim,
>>>       
>> :
>>     
>>>  LDLfactor
>>>
>>>  which is usually, and in this case as well, due to duplicate
>>>       
>> observations, try
>>     
>>>  > zerodist(sitesR)
>>>
>>>  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 commands
>>>> 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 = 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 steps
>>>>>           
>> that
>>     
>>>>> led to the error message.
>>>>>  --
>>>>>  Edzer
>>>>>
>>>>>  mathieu grelier wrote:
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>           
>>>>>> A question about a problem already described in this list (
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>             
>> https://stat.ethz.ch/pipermail/r-sig-geo/2006-July/001160.html),
>>     
>>>>> but I
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>           
>>>>>> didn't find any answer.
>>>>>> I am trying to achieve ordinary kriging using gstat (via the
>>>>>>             
>> autokrige
>>     
>>>>>> package) in GRASS with a big dataset (24067 points).
>>>>>>
>>>>>> After the program removes duplicate data, I get the following same
>>>>>>             
>> error :
>>     
>>>>>> "Error : dimensions do not match: locations 39916 and data 24067"
>>>>>> I don't have any NAs apparently.
>>>>>> Checking logfile, I could see that the error is occurring in the
>>>>>>             
>> krige
>>     
>>>>>> 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 list as
>>>>>>             
>> its
>>     
>>>>>> weight is ~1Mo.
>>>>>>
>>>>>> Thanks
>>>>>> Mathieu
>>>>>>
>>>>>>      [[alternative HTML version deleted]]
>>>>>>
>>>>>> _______________________________________________
>>>>>> R-sig-Geo mailing list
>>>>>> R-sig-Geo at stat.math.ethz.ch
>>>>>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>             
>>>>>           
>>     


-- 
Drs. Paul Hiemstra
Department of Physical Geography
Faculty of Geosciences
University of Utrecht
Heidelberglaan 2
P.O. Box 80.115
3508 TC Utrecht
Phone: 	+31302535773
Fax:	+31302531145
http://intamap.geo.uu.nl/~paul




More information about the R-sig-Geo mailing list