2012-06-14 37 views
28

Tôi có một biến được xác định có tên là trả lời. biến này sẽ được chuyển đến facet_wrap() trong gói ggplotChuyển chuỗi biến facet_wrap() trong ggplot bằng R

response<-"job" 

Khi tôi xác định biến trực tiếp trong facet_wrap()

ví dụ

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

nó mang lại cần cốt truyện

Nhưng khi tôi chỉ định biến trả lời trong facet_wrap()

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

tôi nhận được lỗi

At least one layer must contain all variables used for facetting 

Có cách nơi facet_wrap thể chấp nhận tên biến từ biến phản ứng thay vì viết tên biến trực tiếp trong đó

+3

Bạn có thể sao chép ví dụ của mình không? –

+28

thử 'as.formula (dán (" ~ ", phản hồi))' – kohske

+0

Kohske nó hoạt động nhờ –

Trả lời

50

(comment Quay @ kohske của thành một câu trả lời để nó có thể được được chấp nhận và "đã đóng"):

facet_wrap(as.formula(paste("~", response))) 
Các vấn đề liên quan