【发布时间】:2021-08-30 02:33:14
【问题描述】:
我正在尝试创建一个函数,该函数在用户输入数据和变量时打印绘图。我当前的问题是组/子组列可能是数字的,所以我需要在绘图之前将它们变成因子。我正在尝试这样做:
create_plot <- function(df, group, subgroup, y){
df %>%
select({{group}}, {{subgroup}}, {{y}}) %>%
mutate({{group}} = as.factor({{group}})) %>%
ggplot() +
geom_boxplot(aes(x={{subgroup}}, y={{y}}, color={{group}}))
}
create_plot(sales, YEAR, COUNTRY, VALUE)
但它给出了一个错误:
Error: unexpected '=' in:
" select({{group}}, {{subgroup}}, {{y}}) %>%
mutate({{group}} ="
这让我相信 mutate 不应该与 {{variables}} 一起使用。如何正确地做到这一点?
【问题讨论】:
-
你为什么有
{{}}? -
因为我的数据框中没有名为 group、subgroup 和 y 的变量。我的列是名称 YEAR、COUNTRY 和 VALUE。删除这些会给出错误“错误:找不到对象'YEAR'”。与tidyevaluation相关
标签: r dplyr tidyverse tidyeval