在ggplot2中,您可以使用aes_string
在用户定义函数内传递字符参数。你怎么能做同样的方面网格需要一个公式,而不是aes
?将字符串传递给facet_grid:ggplot2
FUN <- function(data, x, y, fac1, fac2) {
ggplot(data = data, aes_string(x=x, y=y)) +
geom_point() + facet_grid(as.formula(substitute(fac1 ~ fac2)))
}
FUN(mtcars, 'hp', 'mpg', 'cyl', 'am')
'as.formula(粘贴(FAC1, “〜”,FAC2))' – baptiste