使用标准评估使用 Ggmosaic 创建马赛克图的函数
Creating a Function for a Mosaic Plot with Ggmosaic using Standard Evaluation
图书馆(ggmosaic)
图书馆(整洁宇宙)
我仍在尝试学习使用标准评估进行编程的一些细微差别。对于这个问题,我尝试使用来自 ggmosaic 的 "happy" 数据集创建一个函数,以创建变量 "health" 和 "happy" 的基本马赛克图。
下面是我想使用标准评估创建函数的代码。我希望能够从 happy 数据集中输入任意两个分类变量,并创建一个基本的马赛克图,如代码中所述。
happy%>%
na.omit()%>%
count(happy,health)%>%
ggplot()+
geom_mosaic(aes(weight=n,x=product(health),fill=health))
但是,我无法完全正确地编写代码。我以前问过类似的问题,但我仍在努力理解何时何地使用 .dots 参数以及如何在标准评估中指定输入。下面是我一直在玩的错误代码版本之一...
Mosaic<-function(product="health",fill="happy"){
happy%>%na.omit()%>%
count_(c(product,fill))%>%
ggplot()+
geom_mosaic(aes_string(weight="n",x=product(product),fill=fill))
}
任何使它工作的指示都将不胜感激,尤其是关于如何使用 SE 正确编码的任何建议。
你可以这样做:
Mosaic<-function(var_product="health",fill="happy"){
happy%>%
na.omit()%>%
count_(c(var_product,fill))%>%
ggplot(aes(weight=n))+
geom_mosaic(aes_string(x=paste0("product(", var_product, ")"),fill=fill))
}
示例:
Mosaic("sex","degree")
图书馆(ggmosaic) 图书馆(整洁宇宙)
我仍在尝试学习使用标准评估进行编程的一些细微差别。对于这个问题,我尝试使用来自 ggmosaic 的 "happy" 数据集创建一个函数,以创建变量 "health" 和 "happy" 的基本马赛克图。
下面是我想使用标准评估创建函数的代码。我希望能够从 happy 数据集中输入任意两个分类变量,并创建一个基本的马赛克图,如代码中所述。
happy%>%
na.omit()%>%
count(happy,health)%>%
ggplot()+
geom_mosaic(aes(weight=n,x=product(health),fill=health))
但是,我无法完全正确地编写代码。我以前问过类似的问题,但我仍在努力理解何时何地使用 .dots 参数以及如何在标准评估中指定输入。下面是我一直在玩的错误代码版本之一...
Mosaic<-function(product="health",fill="happy"){
happy%>%na.omit()%>%
count_(c(product,fill))%>%
ggplot()+
geom_mosaic(aes_string(weight="n",x=product(product),fill=fill))
}
任何使它工作的指示都将不胜感激,尤其是关于如何使用 SE 正确编码的任何建议。
你可以这样做:
Mosaic<-function(var_product="health",fill="happy"){
happy%>%
na.omit()%>%
count_(c(var_product,fill))%>%
ggplot(aes(weight=n))+
geom_mosaic(aes_string(x=paste0("product(", var_product, ")"),fill=fill))
}
示例:
Mosaic("sex","degree")