[R] problems using the thin plate spline method
Mintewab Bezabih
Mintewab.Bezabih at economics.gu.se
Mon Dec 5 12:54:25 CET 2011
Dear Jeff and R users,
Thanks Jeff.
Your first plot suggestion worked. And when I stick dat$x1, dat$x2,dat$y, tpsfit seems to work as well. But it gives me a new error message
tpsfit <- Tps(cbind(dat$x1, dat$x2), dat$y, scale.type="unscaled")
Warning message:
In gcv.Krig(out, nstep.cv = nstep.cv, verbose = verbose, cost = out$cost, :
Value of pure error estimate is outside possible range
Then I get error messages for the subsequent lines as well.
I have now attached the data. And here is the full code I am trying to run.
dat <- read.table("E:/thin plate/thin plate.csv", header=T, sep=",")
names(dat) <- c("x1", "x2", "y")
library(fields)
plot (dat)
#load the fields package (containing Tps) and fit a thin plate spline
tpsfit <- Tps(cbind(dat$x1, dat$x2), dat$y, scale.type="unscaled")
#predict the thin plate spline on the fine grid and plot the fitting
ngrid <- length(xf); grid <- cbind(rep(xf, ngrid), rep(xf, rep(ngrid, ngrid)))
out.p1 <- predict(tpsfit, grid)
persp(xf, xf, matrix(out.p1, ngrid, ngrid, byrow=F), theta=130, phi=20,
expand=0.45, xlab="x1", ylab="x2", zlab="y", xlim=c(0,1), ylim=c(0,1),
zlim=range(zf), ticktype="detailed", scale=F, main="gcv fitting")
Many thanks once again.
regards
mintewab
Från: Jeff Newmiller [jdnewmil at dcn.davis.ca.us]
Skickat: den 5 december 2011 12:39
Till: Mintewab Bezabih; Sarah Goslee
Kopia: r-help at r-project.org
Ämne: Re: [R] problems using the thin plate spline method
Try
plot( dat$x1, dat$y )
or
plot( x1, y, data=dat )
Note that your example is still not reproducible because you have not supplied the data or a shortened version of your data for us to work with. Also, your problem is not with thin plates but with plot, and reading the help for that function by typing
?plot
at the R command line would have provided you with more examples and usage info on how to get around this problem.
---------------------------------------------------------------------------
Jeff Newmiller The ..... ..... Go Live...
DCN:<jdnewmil at dcn.davis.ca.us> Basics: ##.#. ##.#. Live Go...
Live: OO#.. Dead: OO#.. Playing
Research Engineer (Solar/Batteries O.O#. #.O#. with
/Software/Embedded Controllers) .OO#. .OO#. rocks...1k
---------------------------------------------------------------------------
Sent from my phone. Please excuse my brevity.
Mintewab Bezabih <Mintewab.Bezabih at economics.gu.se> wrote:
>Dear Sarah and R users,
>
>Sorry again for not being explicit enough. Here is my full problem
>
>
>dat <- read.table("E:/thin plate/thin plate.csv", header=T, sep=",")
>dat
>names(dat) <- c("x1", "x2", "y")
>library(fields)
>plot (dat)
>
>#load the fields package (containing Tps) and fit a thin plate spline
>tpsfit <- Tps(cbind(x1, x2), y, scale.type="unscaled")
>
>What I meant when I said the graph works is when I do plot(dat) it does
>plot of all my three variables. If I do plot(x1,y), though, I get the
>'object x1 not found' error message.
>
>Same when I do the next line tpsfit <- Tps(cbind(x1, x2), y,
>scale.type="unscaled"). I get the same error message.
>
>I tried your suggestion of checking str(x1) and I get the same error
>message (object x1 not found).
>I also typed ls() and I get "dat" after that command.
>
>I followed the r tutorial guide to read my data and I am following the
>r tutorial to guide me to apply the thin plate spline method.
>
>Regards,
>
>Mintewab
>________________________________________
>Från: Sarah Goslee [sarah.goslee at gmail.com]
>Skickat: den 4 december 2011 15:21
>Till: Mintewab Bezabih
>Kopia: r-help at r-project.org
>Ämne: Re: [R] problems using the thin plate spline method
>
>Hello,
>
>On Sun, Dec 4, 2011 at 8:08 AM, Mintewab Bezabih
><Mintewab.Bezabih at economics.gu.se> wrote:
>> Dear R users and Jeff,
>>
>> Sorry for not being quite explicit in my earlier message.
>
>And you are still not explicit. We have no idea what you've done.
>
>> My main problem is while my data seem to be read into R well (I
>manage to graph them and all), I cannot get the following line to work.
>>
>> tpsfit <- Tps(cbind(x1, x2), y, scale.type="unscaled")
>>
>> and I get the following error message
>>
>> Error in as.matrix(x) :
>> error in evaluating the argument 'x' in selecting a method for
>function 'as.matrix': Error: object 'x1' not found
>
>I'd have to guess that there's no object x1. What does ls() tell you?
>str(x1)?
>
>What do your data look like? You were already given instructions on how
>to
>include sample data to construct a reproducible example. You said that
>graphing your data worked; how did you do so?
>
>The posting guide and the advice you were already given were both
>offered for a reason. The querent needs to do the work of formulating
>an understandable and answerable question.
>
>Sarah
>
>> thanks for help
>> minti
>> ________________________________________
>> Från: Jeff Newmiller [jdnewmil at dcn.davis.ca.us]
>> Skickat: den 3 december 2011 17:45
>> Till: Mintewab Bezabih; r-help at r-project.org
>> Ämne: Re: [R] problems using the thin plate spline method
>>
>> I can tell that you are puzzled and confused. Unfortunately, I am not
>psychic, so I cannot tell what you did, and therefore cannot tell where
>you went astray.
>>
>> The solution is for you to read the posting guide mentioned at the
>bottom of every R-help message. Spend a little time to create a small
>bit of data like yours if your actual data is large (subset and dput
>are useful for this). Remember to include the output of sessionInfo,
>and so on. Many times you are likely to find the answer yourself by
>going through these steps, but they are essential for communication.
>>
>> Good luck.
>> Sent from my phone. Please excuse my brevity.
>>
>> Mintewab Bezabih <Mintewab.Bezabih at economics.gu.se> wrote:
>>
>>>Dear R users,
>>>
>>>I am a beginner in R trying to apply the thin plate spline method to
>my
>>>climate data. I used the example in R to do so, and the lines seem to
>>>run fine ( I am not getting errors) but I am not getting any output
>in
>>>the form of graph or anything. I got a warning message saying that
>>>'surface extends beyond box'.
>>>
>>>Any help is much appreciated.
>>>thanks
>>>minti
>
>
>--
>Sarah Goslee
>http://www.functionaldiversity.org
>
>______________________________________________
>R-help at r-project.org mailing list
>https://stat.ethz.ch/mailman/listinfo/r-help
>PLEASE do read the posting guide
>http://www.R-project.org/posting-guide.html
>and provide commented, minimal, self-contained, reproducible code.
More information about the R-help
mailing list