On Apr 4, 2011, at 6:35 AM, kitty wrote:

Dear list,

Hi,

I am trying to get the second derivative of a logistic formula, in R summary
the model is given as :

###
$nls
Nonlinear regression model
model:  data ~ logistic(time, A, mu, lambda, addpar)
data:  parent.frame()
A      mu  lambda
0.53243 0.03741 6.94296
###

but I know the formula used is

# y~'A'/(1+exp((4*'mu'/'A')*('lambda'-'time'))+2)) # from the grofit (
package I am using to fit the model) documentation.

I have attempted to use the R function 'deriv' to get the
first derivative from which I can then reuse the deriv function to get the
second derivative.... unfortunately this does not seem to work

###
express<-expression(y~'A'/(1+exp((4*'mu'/'A')*('lambda'-'time'))+2))
express
expression(y ~ "A"/(1 + exp((4 * "mu"/"A") * ("lambda" - "time")) +
   2))

d1<-deriv(express)
Error in deriv.default(express) : element 2 is empty;
  the part of the args list of '.Internal' being evaluated was:
  (expr, namevec, function.arg, tag, hessian)
####

For one thing you are not specifying what variable you want to differentiate with-respect-to: Assuming this to be `A` then:

 express <-
     expression( A/(1+exp((4*mu/A)*(lambda-time))+ 2))
 # The quotes looked "wrong" inside an expression, so I removed them

d1<-deriv(express, "A") # but the diff w.r.t variable needs to be quoted.
  d1
expression({
    .expr1 <- 4 * mu
    .expr3 <- lambda - time
    .expr5 <- exp(.expr1/A * .expr3)
    .expr7 <- 1 + .expr5 + 2
    .value <- A/.expr7
    .grad <- array(0, c(length(.value), 1L), list(NULL, c("A")))
.grad[, "A"] <- 1/.expr7 + A * (.expr5 * (.expr1/A^2 * .expr3))/.expr7^2
    attr(.value, "gradient") <- .grad
    .value
})


All this should have been clear if you had looked at the examples in help(deriv).


Why is this not working and how do I get the second derivative?

That , too, is clearly exemplified in the help page.


Thank you for reading my post, all help is appreciated,
Kitty


--
David Winsemius, MD
West Hartford, CT

______________________________________________
R-help@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.

Reply via email to