[R] deriv; loop
Uwe Ligges
ligges at statistik.uni-dortmund.de
Tue Jul 31 12:13:45 CEST 2007
francogrex wrote:
> Hi, 2 questions:
>
> Question 1: example of what I currently do:
>
> for(i in 1:6){sink("temp.txt",append=TRUE)
> dput(i+0)
> sink()}
> x=scan(file="temp.txt")
> print(prod(x))
> file.remove("C:/R-2.5.0/temp.txt")
>
> But how to convert the output of the loop to a vector that I can manipulate
> (by prod or sum etc), without having to write and append to a file?
So, do you want the file at the end or not? If not:
x <- 1:6
prod(x)
and if this is really the solution you want, the please read the posting
guide and the manuals before posting again.
> Question 2:
>
>> deriv(~gamma(x),"x")
>
> expression({
> .expr1 <- gamma(x)
> .value <- .expr1
> .grad <- array(0, c(length(.value), 1), list(NULL, c("x")))
> .grad[, "x"] <- .expr1 * psigamma(x)
> attr(.value, "gradient") <- .grad
> .value
> })
>
> BUT
>
>> deriv3(~gamma(x),"x")
> Error in deriv3.formula(~gamma(x), "x") : Function 'psigamma' is not in the
> derivatives table
>
> What I want is the expression for the second derivative (which I believe is
> trigamma(x), or psigamma(x,1)), how can I obtain that?
By using some algebraic software (rather than a numeric one) or
contributing complete derivatives tables for the next R release.
Uwe Ligges
More information about the R-help
mailing list