[R] multiply of two expressions

David Winsemius dwinsemius at comcast.net
Tue May 6 04:16:57 CEST 2014


On May 5, 2014, at 6:05 PM, Gabor Grothendieck wrote:

> On Mon, May 5, 2014 at 9:43 AM, Niloofar.Javanrouh
> <javanrouh_n at yahoo.com> wrote:
>> 
>> 
>> hello,
>> i want to differentiate of L with respect to b
>> when:
>> 
>> L= k*ln (k/(k+mu)) + sum(y) * ln (1-(k/mu+k))   #(negative binomial ln likelihood)
>> and
>> ln(mu/(mu+k)) = a+bx   #link function
>> 
>> how can i do it in R?
> 
> Try this.  First we solve for 'mu' in terms of the other variables
> using the link equation:
> 
>> library(Ryacas)
>> k <- Sym("k")
>> mu <- Sym("mu")
>> y <- Sym("y")
>> L <- Sym("L")
>> a <- Sym("a")
>> b <- Sym("b")
>> x <- Sym("x")
>> sumy <- Sym("sumy")
>> Solve(log(mu/(mu+k)) == a+b*x, "mu")
> expression(list(mu == k * exp(a + b * x)/(1 - exp(a + b * x))))
>> 
> 
> Now in 'k*log(k/(k+mu)) + sumy * log(1-(k/mu+k))' substitute 'k *
> exp(a + b * x)/(1 - exp(a + b * x)))' for 'mu' using 'Subst' and take
> the derivative with respect to 'a' using 'deriv':
> 
>> s <- Subst(k*log(k/(k+mu)) + sumy * log(1-(k/mu+k)), mu,
> +       k * exp(a + b * x)/(1 - exp(a + b * x)))
>> deriv(s, a)
> expression(sumy * (k * ((1 - exp(a + b * x)) * (k * exp(a + b *
>    x)) + k * exp(a + b * x)^2))/((1 - exp(a + b * x))^2 * (k *
>    exp(a + b * x)/(1 - exp(a + b * x)))^2 * (1 - (k * (1 - exp(a +
>    b * x))/(k * exp(a + b * x)) + k))) - k * ((k + k * exp(a +
>    b * x)/(1 - exp(a + b * x))) * (k * ((1 - exp(a + b * x)) *
>    (k * exp(a + b * x)) + k * exp(a + b * x)^2)))/((1 - exp(a +
>    b * x))^2 * ((k + k * exp(a + b * x)/(1 - exp(a + b * x)))^2 *
>    k)))
> 

But can we maybe get the Taylor series approximation to first or second order?

-- 

David Winsemius
Alameda, CA, USA



More information about the R-help mailing list