2012-06-14 19 views
28

Ho definito una variabile denominata risposta. sarà passato questa variabile per facet_wrap() nel pacchetto ggplotPassing stringa variabile facet_wrap() in ggplot utilizzando R

response<-"job" 

Quando ho specificato variabile direttamente in facet_wrap()

esempio

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

si dà richiesto trama

Ma quando specificando la variabile di risposta in facet_wrap()

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

ottengo errore

At least one layer must contain all variables used for facetting 

Non c'è modo in cui facet_wrap può accettare il nome della variabile da variabile di risposta invece che scrivere il nome della variabile direttamente in esso

+3

Potrebbe rendere riproducibile l'esempio? –

+28

prova 'as.formula (incolla (" ~ ", risposta))' – kohske

+0

Kohske ha funzionato grazie –

risposta

50

(commento Turning @ di kohske in una risposta in modo che possa essere accettato e "chiuso"):

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