我正在尝试编写一个函数,其中一个参数是要进行分面包装的变量。
最小可重现示例:
library(tidyverse)
library(ggplot2)
wobble<- matrix(1:9, 3) %>% as_tibble()
wibble_fun <- function(df, var) {
df %>%
ggplot(aes(var)) +
geom_bar() +
facet_wrap(~var)
}
wibble_fun(wobble, "V1")
Run Code Online (Sandbox Code Playgroud)
由此产生的错误:
Error: At least one layer must contain all faceting variables: `var`.
* Plot is missing `var`
* Layer 1 is missing `
Run Code Online (Sandbox Code Playgroud)
似乎varinfacet_wrap(~var)被解释为字符串“var”,而不是被“V1”替换,这是我调用函数时的第二个参数。
有没有办法使这项工作?