[R] Help with workaround for: Function '`[`' is not in thederivatives table

Berton Gunter gunter.berton at gene.com
Tue Aug 15 01:10:45 CEST 2006


I think this is the sort of problem which is most elegantly handled by
computing on the language. Here is an INelegant solution: 

>  A <- c(1, 2, 3)

> for(i in 1:3)assign(paste('A',i,sep=''),A[i])

>  E <- expression(A1 * exp(A2*X) + A3) ## could also use substitute() here,
I think
## instead of explicitly assigning the coefficients

> X <- c(0.5, 1.0, 2.0)

>  eval(E)
[1]  5.718282 10.389056 57.598150

>  D(E, "A2")
A1 * (exp(A2 * X) * X)


Bert Gunter
Genentech
 

> -----Original Message-----
> From: r-help-bounces at stat.math.ethz.ch 
> [mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of Earl F. Glynn
> Sent: Monday, August 14, 2006 3:44 PM
> To: r-help at stat.math.ethz.ch
> Subject: [R] Help with workaround for: Function '`[`' is not 
> in thederivatives table
> 
> # This works fine:
> > a <- 1
> 
> > b <- 2
> 
> > c <- 3
> 
> 
> 
> > E <- expression(a * exp(b*X) + c)
> 
> 
> 
> > X <- c(0.5, 1.0, 2.0)
> 
> 
> 
> > eval(E)
> 
> [1]  5.718282 10.389056 57.598150
> 
> 
> 
> > D(E, "b")
> 
> a * (exp(b * X) * X)
> 
> > eval(D(E, "b"))
> 
> [1]   1.359141   7.389056 109.196300
> 
> 
> 
> # But if (a,b,c) are replaced with (A[1], A[2], A[3]), how 
> can I get a 
> derivative using "D"?
> 
> 
> 
> > A <- c(1, 2, 3)
> 
> > E <- expression(A[1] * exp(A[2]*X) + A[3])
> 
> > X <- c(0.5, 1.0, 2.0)
> 
> > eval(E)
> 
> [1]  5.718282 10.389056 57.598150
> 
> 
> 
> # Why doesn't this work?  Any workarounds?
> 
> > D(E, "A[2]")
> 
> Error in D(E, "A[2]") : Function '`[`' is not in the derivatives table
> 
> 
> 
> If I want to have a long vector of coefficients, A, (perhaps 
> dozens) how can 
> I use "D" to compute partial derivatives?
> 
> 
> 
> Thanks for any help with this.
> 
> 
> 
> efg
> 
> 
> 
> Earl F. Glynn
> 
> Scientific Programmer
> 
> Stowers Institute for Medical Research
> 
> ______________________________________________
> R-help at stat.math.ethz.ch 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