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 भूखंड

ग्राफ़ का पक्ष बदलें

आप ग्राफ के किनारे को पलट सकते हैं।

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 बिन्दुओं के साथ प्लॉट

सौंदर्यबोध को नियंत्रित करें Box भूखंड

बॉक्स का रंग बदलें

आप समूह का रंग बदल सकते हैं.

ggplot(data_air_nona, aes(x = Month, y = Ozone, color = Month)) +
    geom_boxplot() +
    theme_classic()

कोड स्पष्टीकरण

  • समूहों के रंग aes() मैपिंग में नियंत्रित होते हैं। आप महीनों के अनुसार बॉक्स और व्हिस्कर प्लॉट का रंग बदलने के लिए color=Month का उपयोग कर सकते हैं

आउटपुट:

का रंग बदलें Box

Box कई समूहों के साथ साजिश

कई समूहों को जोड़ना भी संभव है। आप माप के दिन के अनुसार वायु गुणवत्ता में अंतर देख सकते हैं।

ggplot(data_air_nona, aes(Month, Ozone)) +
    geom_boxplot(aes(fill = day_cat)) +
    theme_classic()

कोड स्पष्टीकरण

  • ज्यामितीय ऑब्जेक्ट की aes() मैपिंग प्रदर्शित करने के लिए समूहों को नियंत्रित करती है (इस चर को एक कारक होना चाहिए)
  • aes(fill= day_cat) x-अक्ष में प्रत्येक माह के लिए तीन बॉक्स बनाने की अनुमति देता है

आउटपुट:

Box एकाधिक समूहों के साथ प्लॉट करें

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 घबराये हुए बिंदुओं के साथ प्लॉट

आप जिटर विधि से प्राप्त पहले ग्राफ और बिंदु विधि से प्राप्त दूसरे ग्राफ के बीच अंतर देख सकते हैं।

box_plot +
    geom_boxplot() +
    geom_point(shape = 5,
        color = "steelblue") +
    theme_classic()

Box घबराये हुए बिंदुओं के साथ प्लॉट

नोकदार Box भूखंड

geom_boxplot() की एक दिलचस्प विशेषता, R में एक नोचेड बॉक्सप्लॉट फ़ंक्शन है। नोच प्लॉट मीडियन के चारों ओर बॉक्स को संकीर्ण करता है। नोचेड बॉक्स प्लॉट का मुख्य उद्देश्य समूहों के बीच मीडियन के महत्व की तुलना करना है। इस बात के पुख्ता सबूत हैं कि जब नोच ओवरलैप नहीं होते हैं तो दो समूहों के मीडियन अलग-अलग होते हैं। नोच की गणना इस प्रकार की जाती है:

नोकदार Box भूखंड

के साथ अंतराचतुर्थक और अवलोकनों की संख्या है।

box_plot +
    geom_boxplot(notch = TRUE) +
    theme_classic()

कोड स्पष्टीकरण

  • geom_boxplot(notch=TRUE): एक नोचेड क्षैतिज बॉक्सप्लॉट बनाएँ R

आउटपुट:

नोकदार Box भूखंड

सारांश

हम नीचे दी गई तालिका में विभिन्न प्रकार के क्षैतिज बॉक्सप्लॉट 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))

यह भी जांचें: - शुरुआती लोगों के लिए आर ट्यूटोरियल: आर प्रोग्रामिंग भाषा सीखें

इस पोस्ट को संक्षेप में इस प्रकार लिखें: