R में boxplot(): कैसे बनाएं Boxआरस्टूडियो में प्लॉट [उदाहरण]
आर में बॉक्सप्लॉट()
आर में बॉक्सप्लॉट() क्वार्टाइल द्वारा डेटा के वितरण को देखने और आउटलायर्स की उपस्थिति का पता लगाने में मदद करता है। आप R में boxplot() बनाने के लिए ggplot2 लाइब्रेरी से ज्यामितीय ऑब्जेक्ट geom_boxplot() का उपयोग कर सकते हैं।
हम ggplot के साथ R में boxplot() को पेश करने के लिए airquality डेटासेट का उपयोग करेंगे। यह डेटासेट मई से सितंबर 1973 तक न्यूयॉर्क की वायु गुणवत्ता को मापता है। डेटासेट में 154 अवलोकन शामिल हैं। हम निम्नलिखित चर का उपयोग करेंगे:
- ओजोन: संख्यात्मक चर
- पवन: संख्यात्मक चर
- महीना: मई से सितंबर. संख्यात्मक चर
बनाएं Box भूखंड
इससे पहले कि आप R में अपना पहला boxplot() बनाना शुरू करें, आपको डेटा को निम्नानुसार हेरफेर करना होगा:
- चरण 1: डेटा आयात करें
- चरण 2: अनावश्यक चर हटाएँ
- चरण 3: महीने को फ़ैक्टर स्तर में बदलें
- चरण 4: महीने को तीन स्तरों में विभाजित करते हुए एक नया श्रेणीबद्ध चर बनाएं: आरंभ, मध्य और अंत।
- चरण 5: लुप्त अवलोकनों को हटाएं
ये सभी चरण dplyr और पाइपलाइन ऑपरेटर %>% के साथ किए जाते हैं।
library(dplyr)
library(ggplot2)
# Step 1
data_air <- airquality % > %
#Step 2
select(-c(Solar.R, Temp)) % > %
#Step 3
mutate(Month = factor(Month, order = TRUE, labels = c("May", "June", "July", "August", "September")),
#Step 4
day_cat = factor(ifelse(Day < 10, "Begin", ifelse(Day < 20, "Middle", "End"))))
एक अच्छा अभ्यास यह है कि डेटा की संरचना को फंक्शन झलक() के साथ जांचा जाए।
glimpse(data_air)
आउटपुट:
## Observations: 153 ## Variables: 5 ## $ Ozone <int> 41, 36, 12, 18, NA, 28, 23, 19, 8, NA, 7, 16, 11, 14, ... ## $ Wind <dbl> 7.4, 8.0, 12.6, 11.5, 14.3, 14.9, 8.6, 13.8, 20.1, 8.6... ## $ Month <ord> May, May, May, May, May, May, May, May, May, May, May,... ## $ Day <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,... ## $ day_cat <fctr> Begin, Begin, Begin, Begin, Begin, Begin, Begin, Begi...
डेटासेट में NA हैं। उन्हें हटाना बुद्धिमानी है।
# Step 5 data_air_nona <-data_air %>% na.omit()
बेसिक बॉक्स प्लॉट
आइए, ओजोन के वितरण को महीने के अनुसार दर्शाने वाले मूल R बॉक्सप्लॉट() को प्लॉट करें।
# Store the graph
box_plot <- ggplot(data_air_nona, aes(x = Month, y = Ozone))
# Add the geometric object box plot
box_plot +
geom_boxplot()
कोड स्पष्टीकरण
- आगे उपयोग के लिए ग्राफ को संग्रहीत करें
- box_plot: आप ग्राफ को box_plot चर में संग्रहीत करते हैं यह आगे के उपयोग के लिए उपयोगी है या कोड की बहुत जटिल पंक्ति से बचने के लिए उपयोगी है
- R boxplot() का ज्यामितीय ऑब्जेक्ट जोड़ें
- आप डेटासेट data_air_nona को ggplot बॉक्सप्लॉट में पास करते हैं।
- Aes() तर्क के अंदर, आप x-अक्ष और y-अक्ष जोड़ते हैं।
- + चिह्न का मतलब है कि आप चाहते हैं कि R कोड को पढ़ता रहे। यह कोड को तोड़कर उसे अधिक पठनीय बनाता है।
- बॉक्स प्लॉट बनाने के लिए geom_boxplot() का उपयोग करें
आउटपुट:
ग्राफ़ का पक्ष बदलें
आप ग्राफ के किनारे को पलट सकते हैं।
box_plot + geom_boxplot()+ coord_flip()
कोड स्पष्टीकरण
- box_plot: आप अपने द्वारा संग्रहीत ग्राफ़ का उपयोग करते हैं। यह हर बार जब आप ग्राफ़ में नई जानकारी जोड़ते हैं तो सभी कोड को फिर से लिखने से बचाता है।
- geom_boxplot(): R में boxplots() बनाएँ
- coord_flip(): ग्राफ के किनारे को पलटें
आउटपुट:
आउटलाइअर का रंग बदलें
आप आउटलायर्स का रंग, आकार और आकृति बदल सकते हैं।
box_plot +
geom_boxplot(outlier.colour = "red",
outlier.shape = 2,
outlier.size = 3) +
theme_classic()
कोड स्पष्टीकरण
- outlier.colour=”red”: आउटलायर्स का रंग नियंत्रित करें
- outlier.shape=2: आउटलायर का आकार बदलें। 2 त्रिभुज को संदर्भित करता है
- outlier.size=3: त्रिभुज का आकार बदलें। आकार संख्या के समानुपातिक है।
आउटपुट:
सारांश सांख्यिकी जोड़ें
आप R बॉक्सप्लॉट() में सारांश सांख्यिकी जोड़ सकते हैं।
box_plot +
geom_boxplot() +
stat_summary(fun.y = mean,
geom = "point",
size = 3,
color = "steelblue") +
theme_classic()
कोड स्पष्टीकरण
- stat_summary() क्षैतिज बॉक्सप्लॉट R में सारांश जोड़ने की अनुमति देता है
- तर्क fun.y लौटाए गए आँकड़ों को नियंत्रित करता है। आप mean का उपयोग करेंगे
- नोट: अन्य आँकड़े भी उपलब्ध हैं जैसे कि न्यूनतम और अधिकतम। एक ही ग्राफ़ में एक से अधिक आँकड़े प्रदर्शित किए जा सकते हैं
- geom = “बिंदु”: एक बिंदु के साथ औसत प्लॉट करें
- आकार=3: बिंदु का आकार
- रंग = "स्टीलब्लू": बिंदुओं का रंग
आउटपुट:
Box बिन्दुओं के साथ प्लॉट
अगले क्षैतिज बॉक्सप्लॉट R में, आप डॉट प्लॉट परतें जोड़ते हैं। प्रत्येक बिंदु एक अवलोकन का प्रतिनिधित्व करता है।
box_plot +
geom_boxplot() +
geom_dotplot(binaxis = 'y',
dotsize = 1,
stackdir = 'center') +
theme_classic()
कोड स्पष्टीकरण
- geom_dotplot() बिन चौड़ाई में डॉट जोड़ने की अनुमति देता है
- binaxis='y': y-अक्ष के साथ बिंदुओं की स्थिति बदलें। डिफ़ॉल्ट रूप से, x-अक्ष
- dotsize=1: बिंदुओं का आकार
- stackdir='center': बिंदुओं को एक साथ रखने का तरीका: चार मान:
- “ऊपर” (डिफ़ॉल्ट),
- "नीचे"
- "केंद्र"
- “सेंटरहोल”
आउटपुट:
सौंदर्यबोध को नियंत्रित करें Box भूखंड
बॉक्स का रंग बदलें
आप समूह का रंग बदल सकते हैं.
ggplot(data_air_nona, aes(x = Month, y = Ozone, color = Month)) +
geom_boxplot() +
theme_classic()
कोड स्पष्टीकरण
- समूहों के रंग aes() मैपिंग में नियंत्रित होते हैं। आप महीनों के अनुसार बॉक्स और व्हिस्कर प्लॉट का रंग बदलने के लिए color=Month का उपयोग कर सकते हैं
आउटपुट:
Box कई समूहों के साथ साजिश
कई समूहों को जोड़ना भी संभव है। आप माप के दिन के अनुसार वायु गुणवत्ता में अंतर देख सकते हैं।
ggplot(data_air_nona, aes(Month, Ozone)) +
geom_boxplot(aes(fill = day_cat)) +
theme_classic()
कोड स्पष्टीकरण
- ज्यामितीय ऑब्जेक्ट की aes() मैपिंग प्रदर्शित करने के लिए समूहों को नियंत्रित करती है (इस चर को एक कारक होना चाहिए)
- aes(fill= day_cat) x-अक्ष में प्रत्येक माह के लिए तीन बॉक्स बनाने की अनुमति देता है
आउटपुट:
Box घबराये हुए बिंदुओं के साथ प्लॉट
डॉट को दिखाने का दूसरा तरीका जिटर पॉइंट्स के साथ है। यह R वेरिएबल में श्रेणीबद्ध डेटा के लिए बॉक्सप्लॉट के साथ बिंदुओं को विज़ुअलाइज़ करने का एक सुविधाजनक तरीका है।
यह विधि असतत डेटा के ओवरलैपिंग से बचाती है।
box_plot +
geom_boxplot() +
geom_jitter(shape = 15,
color = "steelblue",
position = position_jitter(width = 0.21)) +
theme_classic()
कोड स्पष्टीकरण
- geom_jitter() प्रत्येक बिंदु पर थोड़ा क्षय जोड़ता है।
- आकृति=15 बिंदुओं का आकार बदलता है। 15 वर्गों को दर्शाता है
- रंग = “स्टीलब्लू”: बिंदु का रंग बदलें
- position=position_jitter(width = 0.21): ओवरलैपिंग पॉइंट्स को रखने का तरीका। position_jitter(width = 0.21) का मतलब है कि आप पॉइंट्स को x-अक्ष से 20 प्रतिशत तक खिसकाते हैं। डिफ़ॉल्ट रूप से, 40 प्रतिशत।
आउटपुट:
आप जिटर विधि से प्राप्त पहले ग्राफ और बिंदु विधि से प्राप्त दूसरे ग्राफ के बीच अंतर देख सकते हैं।
box_plot +
geom_boxplot() +
geom_point(shape = 5,
color = "steelblue") +
theme_classic()
नोकदार Box भूखंड
geom_boxplot() की एक दिलचस्प विशेषता, R में एक नोचेड बॉक्सप्लॉट फ़ंक्शन है। नोच प्लॉट मीडियन के चारों ओर बॉक्स को संकीर्ण करता है। नोचेड बॉक्स प्लॉट का मुख्य उद्देश्य समूहों के बीच मीडियन के महत्व की तुलना करना है। इस बात के पुख्ता सबूत हैं कि जब नोच ओवरलैप नहीं होते हैं तो दो समूहों के मीडियन अलग-अलग होते हैं। नोच की गणना इस प्रकार की जाती है:
के साथ अंतराचतुर्थक और अवलोकनों की संख्या है।
box_plot +
geom_boxplot(notch = TRUE) +
theme_classic()
कोड स्पष्टीकरण
- geom_boxplot(notch=TRUE): एक नोचेड क्षैतिज बॉक्सप्लॉट बनाएँ R
आउटपुट:
सारांश
हम नीचे दी गई तालिका में विभिन्न प्रकार के क्षैतिज बॉक्सप्लॉट R को संक्षेप में प्रस्तुत कर सकते हैं:
| उद्देश्य | कोड |
|---|---|
| बेसिक बॉक्स प्लॉट |
ggplot(df, aes( x = x1, y =y)) + geom_boxplot() |
| पक्ष पलटें |
ggplot(df, aes( x = x1, y =y)) + geom_boxplot() + coord_flip() |
| नोचेड बॉक्स प्लॉट |
ggplot(df, aes( x = x1, y =y)) + geom_boxplot(notch=TRUE) |
| Box घबराए हुए बिंदुओं के साथ प्लॉट |
ggplot(df, aes( x = x1, y =y)) + geom_boxplot() + geom_jitter(position = position_jitter(0.21)) |
यह भी जांचें: - शुरुआती लोगों के लिए आर ट्यूटोरियल: आर प्रोग्रामिंग भाषा सीखें











