2

私は本当に plyr のquotedクラスです。引用された 2 つのオブジェクトを結合して、新しいオブジェクトを取得できるようにしたいと考えています。たとえば、次のように定義するにはどうすればよいですmult(a,b)

q1 <- as.quoted("x+y")
q2 <- as.quoted("y+z")
mult <- function(a, b) {?????}

## mult(q1, q2) returns as.quoted("(x+y)*(y+z)")
4

1 に答える 1

0

eval引用された数式が必要であり、pasteそれらを一緒にする必要があります。

mult <- function(a, b) {
  as.quoted(paste(eval(a), '*', eval(b)))
}

> mult(q1, q2)
List of 1
 $ x + y * y + z: language x + y * y + z
 - attr(*, "env")=<environment: 0x2920980> 
 - attr(*, "class")= chr "quoted"
> 
于 2012-09-04T14:16:56.387 に答える