我正在使用xyplot
输入Y1 + Y2 ~ X
。
我想将Y1 + Y2
作为列表传递,而不是两个显式变量。
这样,我可以编写一个通用的xyplot
函数,并为一系列Y传递不同的值。
这可能吗?
答案 0 :(得分:3)
一种策略是首先将公式的字符串表示粘贴在一起,然后使用"formula"
将其转换为类as.formula()
的对象。以下是使用基础R附带的mtcars
数据框的示例。
Y <- c("mpg", "cyl")
f <- as.formula(paste(paste(Y, collapse=" + "), " ~ disp"))
lattice::xyplot(f, data = mtcars)