44

I have a defined a variable named response. this variable will be passed to facet_wrap() in ggplot package

 response<-"job"

When i specify variable directly in facet_wrap()

e.g

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

it gives required plot

But when i specifying response variable in facet_wrap()

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

i get error

  At least one layer must contain all variables used for facetting

Is there way where facet_wrap can accept variable name from response variable instead writing variable name directly in it

joran
  • 163,977
  • 32
  • 423
  • 453
Sunny Sunny
  • 2,994
  • 4
  • 23
  • 26

1 Answers1

79

(Turning @kohske's comment into an answer so that it can be accepted and "closed"):

facet_wrap(as.formula(paste("~", response)))
Brian Diggs
  • 55,682
  • 13
  • 158
  • 183