[R] Saving iterative components

Uwe Ligges ligges at statistik.tu-dortmund.de
Sun Sep 26 18:42:41 CEST 2010



On 24.09.2010 17:51, Annalaura wrote:
>
> Hi, I need help!
> I am trying to iterate an iterative process to do cross vadation and store
> the results each time.
> I have a Spatial data.frame, called Tmese
>
>> str(Tmese)
> Formal class 'SpatialPointsDataFrame' [package "sp"] with 5 slots
>    ..@ data       :'data.frame': 14 obs. of  17 variables:
>    .. ..$ ID      : int [1:14] 73 68 49 62 51 79 69 77 57 53 ...
>    .. ..$ Stazione: Factor w/ 29 levels "ALIANO","BONIFATI",..: 2 3 4 5 10 11
> 12 16 17 19 ...
>    .. ..$ X01_1994: num [1:14] 9.34 10.67 5.29 11.86 9.15 ...
>    .. ..$ X01_1995: num [1:14] 7.07 9.22 2.32 9.3 6.66 ...
>    .. ..$ X01_1996: num [1:14] 9.41 10.4 5.99 12.3 9.93 ...
>    .. ..$ X01_1997: num [1:14] 10.67 10.65 5.76 12.82 10.1 ...
>    .. ..$ X01_1998: num [1:14] 9.57 10.12 4.44 10.34 8.97 ...
>    .. ..$ X01_1999: num [1:14] 8.96 10.21 3.23 10.83 7.74 ...
>    .. ..$ X01_2000: num [1:14] 6.58 8.46 2.8 8.37 6.55 ...
>
> Now I want to do 14 cross validation and I wrote a function
>
> idw.cv<- function(x){
> tmp<- krige.cv(x~1, Tmese, model=NULL)
> return(tmp)
> }
>
> But when I run it, it doesn't work, it says:
>> cv_1994<- idw.cv(X01_1994)


Actually this means that you want to pass an object called "X01_1994" to 
the function rather than a symbol for the formula.

What you could do in order to stay with the formula notation is to write 
your own generic / methods that handles different kinds of input 
including formulae and handle them.

Otherwise a quick and dirty approach (with some shortcomings) for 
example is:

idw.cv<- function(x){
form <- as.formula(paste(x, "~1"))
tmp<- krige.cv(form, Tmese, model=NULL)
return(tmp)
}

cv_1994<- idw.cv("X01_1994")

Uwe Ligges




> Error in eval(expr, envir, enclos) : object 'X01_1994' not found
>
> Why????Please Help me!
>
>
>
>



More information about the R-help mailing list