2015-11-17 11 views
6

मैं सहकर्मियों को अपनी कुछ विशेषताओं को प्रदर्शित करने के लिए कुछ आर डेमो को एक साथ रखने पर काम कर रहा हूं। मैं विशेष रूप से उन्हें ggplot2 में रुचि लेना चाहता हूं और iris डेटासेट के साथ facet_grid का उपयोग करके फ़ेसटिंग का एक सरल उदाहरण डाल रहा था।इस ggplot2 पहलू बग का क्या कारण बनता है?

उन्हें विभिन्न मोड दिखाने के लिए मैं उन्हें दिखाना चाहता था कि .~Species, Species~. और Species~Species (एक खराब उदाहरण मैं स्वीकार करता हूं) का उपयोग करके उत्पादित किया जाएगा।

यह ggplot में कुछ अजीब व्यवहार को प्राप्त करने लगता है और मैं सोच रहा था कि ऐसा क्यों हो सकता है। मैं नीचे की साजिश को विकर्ण के साथ अंक रखने की अपेक्षा करता हूं जहां प्रत्येक अक्ष पर प्रजाति के नाम एक दूसरे से मेल खाते हैं। इसके बजाय एक्स-अक्ष पर setosa के तहत सब कुछ सूचीबद्ध है और फिर वाई-अक्ष में इसकी वास्तविक प्रजातियों के तहत।

मुझे एहसास है कि यह उदाहरण किसी यथार्थवादी उपयोग परिदृश्य में नहीं उभरता है, यह सिर्फ मुझे एक दिलचस्प क्विर्क के रूप में मारा। ggplot ऐसा क्यों व्यवहार करता है?

मैंने इसे mtcars डेटासेट के साथ भी आजमाया है और उसी प्रभाव को प्राप्त किया है।

library("ggplot2") 
data(iris) 
ggplot(iris, aes(Petal.Width, Petal.Length, colour=Species)) + 
    geom_point() + 
    theme_bw() + 
    facet_grid(Species~Species) 

ggplot faceted scatterplot showing bug

+1

साथ एक उदाहरण आप() 'GGally :: ggpairs में रुचि हो सकती होगा' ... –

+0

हा, हाँ मैं इस पर आए सोचने के बाद मुझे मैटरिस स्कैटरप्लॉट तक बनाना चाहिए! – Tumbledown

+0

यह सुनिश्चित नहीं है कि ऐसा क्यों होता है, लेकिन मुझे लगता है कि आप एक और चर 'आईरिस $ प्रजातियां 1 - आईरिस $ प्रजातियां' और 'प्रजातियों ~ प्रजातियों 'पर पहलू बनाकर जो चाहते थे उसे प्राप्त कर सकते हैं। –

उत्तर

0

क्योंकि आप ggplot2 के लिए किसी भी जानकारी, उदा का एक संयोजन मुद्रित करने के लिए की जरूरत नहीं है है कि Setosa और versicolor।

यहां इस कोड में, मैं @ सैम टिप्पणी का पुन: उपयोग करता हूं और मैं नई कॉलम प्रजातियों का नमूना (ऑर्डर बदलता हूं) जिसे हम बना रहे हैं। यह प्रजातियों के संयोजन बनाते हैं। पारिस्थितिक रूप से, यह शायद ऐसा करने के लिए भ्रामक है, जैसा कि मैंने किया था, लेकिन निश्चित रूप से, यह प्रजातियों को विभिन्न facet_grid के संयोजन में प्रिंट करता है।

library("ggplot2") 
data(iris) 
iris$Species1 <- sample(iris$Species) 
ggplot(iris, aes(Petal.Width, Petal.Length, colour=Species)) + 
    geom_point() + 
    theme_bw() + 
    facet_grid(Species~Species1) 

यह वही दिख सकता है। फिर, मैंने पहल ग्रिड में जोड़े को मुद्रित करने के लिए प्रजातियों के विभिन्न जोड़े बनाए। R_output

यह अलग-अलग वर्षों

iris$Year <- rep(2010:2014,dim(iris)[2]) 
ggplot(iris, aes(Petal.Width, Petal.Length, colour=Species)) + 
    geom_point() + 
    theme_bw() + 
    facet_grid(Year~Species) 

enter image description here

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