2017-05-08 9 views
5

मुझे निम्नलिखित के साथ समस्याएं आ रही हैं। मुझे 3 कारक चर बनाम 1 संख्यात्मक चर को बारप्लॉट करने की आवश्यकता है।समूहित बारप्लॉट, एक संख्यात्मक बनाम तीन फैक्टोरियल चर

मेरे डाटासेट:

Site,Gall,Status,Count 
Site1,absent,unhealthy,35 
Site1,absent,healthy,1750 
Site1,present,unhealthy,23 
Site1,present,healthy,1146 
Site2,absent,unhealthy,146 
Site2,absent,healthy,1642 
Site2,present,unhealthy,30 
Site2,present,healthy,333 

मैं ggplot उपयोग करने की कोशिश की है, लेकिन तब यह सिर्फ मेरे परिभाषित एक्स, वाई, और एक और विकल्प की सुविधा देता है, तो मैं भरने का इस्तेमाल किया है = पित्त।

मेरा कोड निम्नानुसार दिखता है, मुझे अभी भी एक कारक चर शामिल है।

ggplot(dat, aes(Status, Count, fill = Gall)) + 
    geom_bar(stat = "identity", position = "dodge") 

क्या कोई मेरी मदद कर सकता है?

धन्यवाद, बहुत सराहना की

+1

तुम कुछ की तरह 'समूह = Site' अपने मानचित्रण में तीसरा पहलू शामिल करने के लिए जोड़ सकते हैं। यद्यपि 'facet_wrap' कई जानकारी प्रस्तुत करने के लिए स्वच्छ तरीका हो सकता है। –

+0

@AdamQuek - यह सहायक से अधिक था, मैंने कारक साइट के लिए facet_wrap का उपयोग किया है और यह बिल्कुल ठीक दिखता है कि मैं इसे कैसे चाहता था! मैं बहुत समय की सराहना करता हूं, आपके समय के लिए धन्यवाद! – RLover

+0

यह भी देखें [ggplot2 बार चार्ट के एकाधिक उप समूह] (http://stackoverflow.com/questions/20060949/ggplot2-multiple-sub-groups-of-a-bar-chart)। – Henrik

उत्तर

2

कुछ समाधान हैं। आप दो कारकों द्वारा भरने पर आमादा हैं, तो आप interaction उपयोग कर सकते हैं:

ggplot(dat, aes(Status, Count)) + 
    geom_col(aes(fill = interaction(Site, Gall)), position = "dodge") 

enter image description here

सामान्य में हालांकि, यह कई कारकों के लिए faceting उपयोग करने के लिए बेहतर है। उदाहरण के लिए:

ggplot(dat, aes(Status, Count)) + 
    geom_col(aes(fill = Gall), position = "dodge") + facet_grid(Site ~ .) 

enter image description here

2

आप सलाखों के बजाय अंकों के साथ बेहतर हो सकता है। उदाहरण के लिए:

library(dplyr) 
library(ggplot2) 

ggplot(dat %>% mutate(Site = gsub("([0-9]$)", " \\1", Site)), 
     aes(Status, Count, colour=Status, shape=Gall)) + 
    geom_point(size=3, position=position_dodge(0.5), stroke=1) + 
    facet_grid(~ Site, switch="x") + 
    theme_classic() + 
    theme(strip.placement = "outside", 
     strip.background=element_blank()) + 
    scale_colour_manual(values=hcl(c(195,15),100,65)) + 
    scale_shape_manual(values=c(1,16)) + 
    labs(x="") + 
    guides(colour=FALSE) 

enter image description here

+0

सभी को धन्यवाद, मुझे ऐसे त्वरित, विस्तृत और सहायक उत्तर की उम्मीद नहीं थी! पहली बार मैं इस मंच का उपयोग कर रहा हूं और यह अद्भुत है। – RLover

संबंधित मुद्दे