Jack Bowden <jack.bowden <at> mrc-bsu.cam.ac.uk> writes: > > dU1dtheta <- deriv(~ xi-(alpha0+alpha1*gi), c("alpha0","alpha1")) > > eval(dU1dtheta) > (Intercept) > -0.2547153 > attr(,"gradient") > alpha0 alpha1 > [1,] -1 0 > > I want to extract the output gradient values of -1 and 0 but I don't > know how to access them. The only thing I can access is the intercept > term via. > > > eval(dU1dtheta)[1]. >
It probably easiest to ask for a function to be returned using function.arg, as the example in deriv shows. Having been bitten by deriv in the past, I prefer to use it to give me the function or expression, and paste it explicitly into my code, doing some sanity check first. It's not very general, but tells you better what is happening. Dieter ## function with defaulted arguments: (fx <- deriv(y ~ b0 + b1 * 2^(-x/th), c("b0", "b1", "th"), function(b0, b1, th, x = 1:7){} ) ) fx(2,3,4) attr(fx(2,3,4),"gradient") ______________________________________________ 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.