合并来自plyr的“引用”对象

时间:2012-09-04 14:10:26

标签: r plyr

我真的是quoted班的plyr;我希望能够组合两个引用的对象并获得一个新对象。例如,如何定义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)")

1 个答案:

答案 0 :(得分: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"
>