如何使用 tidyevaluation 改变变量
How to mutate variable with tidyevaluation
我正在尝试创建一个函数,当用户输入要绘制的数据和变量时打印出一个绘图。我目前的问题是 group/subgroup 列可能是数字,所以我需要在绘图之前将它们变成因子。我正在尝试这样做:
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}} 一起使用。如何正确执行此操作?
在 mutate
的左侧使用 {{col}} :=
-
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}}))
}
我正在尝试创建一个函数,当用户输入要绘制的数据和变量时打印出一个绘图。我目前的问题是 group/subgroup 列可能是数字,所以我需要在绘图之前将它们变成因子。我正在尝试这样做:
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}} 一起使用。如何正确执行此操作?
在 mutate
的左侧使用 {{col}} :=
-
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}}))
}