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'. > > ______________________________________________ > [email protected] 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. > ______________________________________________ [email protected] 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.
