R में ggplot2 का उपयोग करते हुए दो कारकों के संबंध में बॉक्सप्लॉट


13

मैं R के लिए बहुत नया हूं और R में किसी भी पैकेज के लिए। मैंने ggplot2 प्रलेखन को देखा, लेकिन यह नहीं पाया। मैं चर के एक बॉक्स साजिश चाहते हैं boxthisदो कारकों के संबंध में f1और f2। यही कारण है कि दोनों लगता है f1और f2कारक चर हैं और उनमें से प्रत्येक दो मानों का उपयोग करके boxthisएक सतत चर रहा है। मैं एक ग्राफ पर 4 बॉक्सप्लॉट्स प्राप्त करना चाहता हूं, प्रत्येक संभावित संयोजनों से एक संयोजन के अनुरूप हो सकता है f1और f2ले सकता है। मुझे लगता है कि आर में बुनियादी कार्यक्षमता का उपयोग करके, यह किया जा सकता है

> boxplot(boxthis ~ f1 * f2 , data = datasetname) 

किसी भी सहायता के लिए अग्रिम रूप से धन्यवाद।


सटीक उत्तर प्राप्त करने के लिए, कृपया नमूना डेटा प्रदान करें।
mpiktas

2
यह सवाल लगभग निश्चित रूप से stackoverflow.com के लिए एक बेहतर फिट होगा, क्योंकि यहाँ विशेष रूप से सांख्यिकीय है।
रिचमीमोर्रोसियो

जवाबों:


23

मैं इसे पूरा करने के दो तरीके सोच सकता हूं:

1. -function के बाहर f1और f2बाहर के सभी संयोजन बनाएंggplot

library(ggplot2)

df <- data.frame(f1=factor(rbinom(100, 1, 0.45), label=c("m","w")), 
                 f2=factor(rbinom(100, 1, 0.45), label=c("young","old")),
                 boxthis=rnorm(100))

df$f1f2 <- interaction(df$f1, df$f2)

ggplot(aes(y = boxthis, x = f1f2), data = df) + geom_boxplot()

यहाँ छवि विवरण दर्ज करें

2. रंग / भरने / आदि का उपयोग करें।

ggplot(aes(y = boxthis, x = f2, fill = f1), data = df) + geom_boxplot()

यहाँ छवि विवरण दर्ज करें


4
(+1) मुझे इसका उपयोग पसंद है interaction()। ध्यान दें, हम geom_boxplot(position = position_dodge(width = .9))बॉक्सप्लेट के बीच अतिरिक्त स्थान जोड़ने के लिए निर्दिष्ट कर सकते हैं ।
chl

1
तुम भी उपयोग कर सकते हैं dodgeमें तर्क ggplot- समारोहggplot(aes(y = boxthis, x = f2, fill = f1, dodge=f1), data = df) + geom_boxplot()
मेसिएज

0

यहाँ एक और तरीका है:

ggplot(datasetname) + boxplot(aes(x=as.factor(f1),y=boxthis)) + facet_wrap(~as.factor(f2), nrow=5)

निम्नलिखित की तरह कुछ देता है:

बॉक्स प्लॉट की सुविधा

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.