On Aug 24, 2015, at 7:23 AM, Jeff Newmiller wrote:

> Read ?predict, paying particular attention to the newdata argument.

I agree that reading help pages is needed but need both the ?predict page and 
the ?integrate page. I think proximate cause of the error is that `integrate` 
is not getting an integrand that is a function of "x" so that it can receive a 
sequence of x-values and return a sequence of y-values. The interpreter is 
complaining because it's not getting a proper function.

I suppose one could do that with predict, but you need to build that function 
to accept a single value as the newdata 'x'-argument. One would, of course, 
need to have the model name in the integrand function matching the name of the 
lm-object, which at the moment is also a further error waiting to be uncovered.

Decided to avoid creating extraneous objects and assume that the data is in the 
form of a dataframe named 'inp':

 fitP <- lm( SOC~poly(Depth,3), data=inp )   # It's better to use correct 
column names with a data-argument
 integrand <-function(x) predict(fitP, newdata= list(Depth=x))  # single value 
of x passed to correct name of column, see ?predict
 integrate(integrand, lower = 25, upper = 80)
# 7.43651 with absolute error < 8.3e-14


> ---------------------------------------------------------------------------
> Jeff Newmiller                        The     .....       .....  Go Live...
> DCN:<jdnew...@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.
> 
> On August 24, 2015 2:10:11 AM PDT, CarstenH <cah...@gmx.de> wrote:
>> Hi all
>> 
>> I need to calculate the area under a curve (integral) for the following
>> data
>> pairs:
>> 
>> Depth SOC    
>> 22.5 0.143
>> 28.5         0.165   
>> 34.5 0.131   
>> 37.5 0.134   
>> 40.5 0.138   
>> 43.5         0.107   
>> 46.5 0.132
>> 49.5         0.175 
>> 52.5 0.087   
>> 55.5         0.117   
>> 58.5 0.126   
>> 61.5         0.13    
>> 64.5 0.122   
>> 67.5         0.161   
>> 71.5 0.144   
>> 76.5         0.146   
>> 82.5 0.156   
>> 94.5 0.132   
>> 
>> (Table name is P)
>> 
>> After reading the data set I assiged the collumns by:
>> 
>> /x <- (P$Depth)
>> y <- (P$SOC)
>> /
>> 
>> and decided to make a ploynominal function (3rd order):
>> 
>> /fitP <- lm( y~poly(x,3,raw=TRUE) )/
>> 
>> At the next step I failed. I can plot point and function but am not
>> able to
>> integrate the curve between e.g. depths 20 and 80.
>> 
>> If I try:
>> /
>> integrand <-function(fitP1)
>> predict(y)
>> integrate(integrand, lower = 25, upper = 80)/
>> 
>> the "Conosle" opend with the message: "Source unavailable or out of
>> sync"
>> and
>> /
>> function(fitP1)
>> predict(y)
>> /
>> )
>> 
>> 
>> Would be great if somebody could help!
>> 
>> Thanks
>> 
>> Carsten
>> 
>> 
>> 
>> --
>> View this message in context:
>> http://r.789695.n4.nabble.com/Calculate-the-area-under-a-curve-tp4711418.html
>> Sent from the R help mailing list archive at Nabble.com.
>> 
>> ______________________________________________
>> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> 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@r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.

David Winsemius
Alameda, CA, USA

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.

Reply via email to