我定义了一个名为response的变量.

 response<-"job"

当我直接在facet_wrap()中指定变量时

例如

   ggplot(data,aes(job,fill=class )) + geom_bar() +facet_wrap(~job)

它给出了所需的情节

但是当我在facet_wrap()中指定响应变量时

 ggplot(data,aes(job,fill=reponse))+ geom_bar() +  facet_wrap(~get(paste(response)))

我犯了一个错误

  At least one layer must contain all variables used for facetting

有没有办法让facet_wrap从响应变量中接受变量名,而不是直接在其中写入变量名

推荐答案

(将@kohske的 comments 变成一个答案,以便被接受和"关闭"):

facet_wrap(as.formula(paste("~", response)))

R相关问答推荐

R的法国工作日

R -列表元素中所有命名项的总和

如何在列表的子元素上使用setName

从R中的地址提取街道名称

创建计数(带重置)变量

在R中,如何创建时间间隔的图表?

棒棒糖图表大小和线宽参数故障标签未出现

如何使用Cicerone指南了解R Shiny中传单 map 的元素?

如何创建具有总计列和ggplot 2所有条线的百分比标签的堆叠条形图?

为什么当我try 在收件箱中使用合并功能时会出现回收错误?

根据R中的另一个日期从多列中 Select 最近的日期和相应的结果

为什么在ggplot2中添加geom_text这么慢?

在R中,如何在每个堆叠的条上放置误差条,特别是当使用facet_grid时?

使用geom_segment()对y轴排序

如何写商,水平线,在一个单元格的表在R

具有重复元素的维恩图

从R中的对数正态分布生成随机数的正确方法

根据r中每行中的日期序列,使用列名序列创建新列

ArrangeGrob()和类似的替代方法不接受Grob列表.在Grid.Draw,返回:glist中的错误(...):仅允许在glist";中使用Grobs;

如何使用ggplot2根据绘图中生成的斜率对小平面进行排序?