[R] symbolic matrix elements...
Tony Plate
tplate at acm.org
Mon Sep 18 19:54:10 CEST 2006
If I construct the matrix by list()ing together the expressions rather
than c()ing, then it works OK:
> x <- matrix(list( expression(x3-5*x+4), expression(log(x2-4*x))))
> x[1,1]
[[1]]
expression(x3 - 5 * x + 4)
> x[[1,1]]
expression(x3 - 5 * x + 4)
> D(x[[1,1]], "x")
-5
>
The reason c() doesn't work properly here might have something to do
with it creating a language object of an unconventional type:
> c( expression(x3-5*x+4), expression(log(x2-4*x)))
expression(x3 - 5 * x + 4, log(x2 - 4 * x))
> expression(x3-5*x+4)
expression(x3 - 5 * x + 4)
>
Using list() with language objects is much safer if you just want to
make lists of them.
-- Tony Plate
Evan Cooch wrote:
>
> Eik Vettorazzi wrote:
>
>>test=matrix(c( expression(x^3-5*x+4), expression(log(x^2-4*x))))
>>works.
>
> Well, not really (or I'm misunderstanding). Your code enters fine (no
> errors), but I can't access individual elements - e.g., test[1,1] gives
> me an error:
>
> > test=matrix(c( expression(x^3-5*x+4), expression(log(x^2-4*x))))
> > test[1,1]
> Error: matrix subscripting not handled for this type
>
> Meaning...what?
>
>
>>btw. you recieved an error because D expects an expression and you
>>offered a list
>
>
> OK - so why then are each of the elements identified as an expression
> which I print out the vector? Each element is reported to be an
> expression. OK, if so, then I remain puzzled as to how this is a 'list'.
>
> ______________________________________________
> 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