[R] How can I get the interpolated data?

pinwheels cactus3 at 163.com
Mon Dec 22 03:49:00 CET 2008


Thank you very much!
It's very helpful to me!


David Winsemius wrote:
> 
> If you look at the CR.rsm object with str() you will see that it  
> inherits from the lm class of objects. Therefore the predict.lm method  
> will be available and if you further look at:
> 
> ?predict.lm
> 
> You see that all you need to do is give it a dataframe that has the  
> variables that match up with you model terms so this is a minimal  
> example:
> 
>  > predict(CR.rsm, newdata=data.frame(x1=84,x2=171))
>         1
> 80.58806
> 
> To get the entire range that you desire (and which the plotting  
> function for GSM already produced) you need:
> 
> ?expand.grid
> 
> z <- predict(CR.rsm, expand.grid(x1=seq(86.88,len=21),  
> x2=seq(175,179,len=21)))
> 
> # or
> data.frame(expand.grid(x1=seq(86.88,len=21), x2=seq(175,179,len=21)),
>             z = predict(CR.rsm, expand.grid(x1=seq(86.88,len=21),  
> x2=seq(175,179,len=21))
>                         )
>           )
> 
> Since you are narrowing the range for your prediction, it's possible  
> that you already realize that the original example plot was  not just  
> interpolating but also extrapolating considerably beyond the available  
> data in places. That dataset only had 14 observations and rather  
> sketchy or non-existent in the extremal regions of the x1 cross x2  
> space.
> 
> I greatly value the ability of the Hmisc/Design packages ability to  
> restrict estimation and plotting to only those regions where the data  
> will support estimates. I tried applying the perimeter function in  
> Harrell's packages to your example, but the plot.Design function  
> recognized that I was giving it a construct from a different package  
> and refused to play.
> 
> At any rate, HTH.
> -- 
> David Winsemius
> Heritage Labs
> 
> On Dec 21, 2008, at 7:33 AM, pinwheels wrote:
> 
>>
>> Hello,everybody!
>>
>> I am a beginner of R.
>>
>> And I want to ask a question. If anybody would help me, thank you  
>> very much
>> ahead.
>> I want to plot something like a response surface, and I find the "rsm"
>> package.
>>
>> Some commands are like this:
>>
>> #code head
>> library(rsm)
>> CR = coded.data(ChemReact, x1 ~ Time, x2 ~ Temp)
>> CR.rsm = rsm(Yield ~ SO(x1,x2), data = CR)
>> summary(CR.rsm)
>> contour(CR.rsm,x1~x2)
>> #code end
>>
>> What if I want the data interpolated, what should I do?
>> For example:
>> There is a data frame like:
>>
>> xa1<-seq(86,88,len=21)
>> xa2<-seq(175,179,len=41)
>> z<-  ... # referring site(xa1,xa2) from the contour plotted above
>>
>> or
>>
>> xa1      xa2        z
>> 86        175      ???
>> 86.1      175      ???
>> ...         ...        ...
>> 86.7       177.3   ???
>> ...        ....         ...
>> 88        179       ???
>>
>> or  something alike.
>>
>> How could I get the z value(???) from the CR.rsm or the plotted  
>> contour?
>> -- 
>> View this message in context:
>> http://www.nabble.com/How-can-I-get-the-interpolated-data--tp21114660p21114660.html
>> Sent from the R help mailing list archive at Nabble.com.
>>
>> ______________________________________________
>> 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.
> 
> ______________________________________________
> 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.
> 
> 

-- 
View this message in context: http://www.nabble.com/How-can-I-get-the-interpolated-data--tp21114660p21122053.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list