आर में प्रतिशत की आसानी से गणना कैसे करें (उदाहरण के साथ)


किसी डेटा सेट का nवाँ प्रतिशत वह मान है जो डेटा मानों के पहले n प्रतिशत को काट देता है जब सभी मानों को सबसे छोटे से सबसे बड़े तक क्रमबद्ध किया जाता है।

उदाहरण के लिए, किसी डेटा सेट का 90वां प्रतिशत वह मान है जो निचले 90% डेटा मानों को शीर्ष 10% डेटा मानों से अलग करता है।

सबसे अधिक उपयोग किए जाने वाले प्रतिशतकों में से एक 50वां प्रतिशतक है, जो डेटा सेट के औसत मूल्य का प्रतिनिधित्व करता है: यह वह मूल्य है जिस पर सभी डेटा मानों का 50% नीचे आता है।

प्रतिशतक का उपयोग प्रश्नों के उत्तर देने के लिए किया जा सकता है जैसे:

  • किसी छात्र को शीर्ष 10% में आने के लिए किसी विशेष परीक्षा में कितना अंक प्राप्त करने की आवश्यकता है? इस प्रश्न का उत्तर देने के लिए, हम सभी अंकों का 90वां प्रतिशतक ज्ञात करेंगे, जो वह मान है जो निचले 90% को शीर्ष 10% से अलग करता है।
  • किसी विशेष स्कूल में छात्रों की औसत लंबाई की आधी लंबाई कितनी होती है? इस प्रश्न का उत्तर देने के लिए, हमें ऊंचाई का 75वां प्रतिशतक और ऊंचाई का 25वां प्रतिशतक मिलेगा, जो दो मान हैं जो ऊंचाई के मध्य 50% के लिए ऊपरी और निचली सीमा निर्धारित करते हैं।

आर में प्रतिशतक की गणना कैसे करें

हम क्वांटाइल() फ़ंक्शन का उपयोग करके आसानी से आर में प्रतिशत की गणना कर सकते हैं, जो निम्नलिखित सिंटैक्स का उपयोग करता है:

क्वांटाइल (x, प्रोब्स = seq(0, 1, 0.25))

  • x: एक संख्यात्मक वेक्टर जिसका शतमक हम खोजना चाहते हैं
  • संभावनाएँ: [0,1] में संभावनाओं का एक संख्यात्मक वेक्टर जो उन प्रतिशतकों का प्रतिनिधित्व करता है जिन्हें हम खोजना चाहते हैं

एक वेक्टर के शतमक ज्ञात करना

निम्नलिखित कोड दर्शाता है कि R में दिए गए वेक्टर के लिए अलग-अलग प्रतिशतक कैसे खोजें:

 #create vector of 100 random values uniformly distributed between 0 and 500
data <- runif(100, 0, 500)

#Find the quartiles (25th, 50th, and 75th percentiles) of the vector
quantile (data, probs = c(.25, .5, .75))

# 25% 50% 75% 
#97.78961 225.07593 356.47943 

#Find the deciles (10th, 20th, 30th, ..., 90th percentiles) of the vector
quantile (data, probs = seq(.1, .9, by = .1))

# 10% 20% 30% 40% 50% 60% 70% 80% 
#45.92510 87.16659 129.49574 178.27989 225.07593 300.79690 337.84393 386.36108 
#90% 
#423.28070

#Find the 37th, 53rd, and 87th percentiles
quantile (data, probs = c(.37, .53, .87))

# 37% 53% 87% 
#159.9561 239.8420 418.4787 

डेटा फ़्रेम कॉलम के प्रतिशतक ढूँढना

यह बताने के लिए कि किसी विशिष्ट डेटा फ़्रेम कॉलम के प्रतिशतक को कैसे खोजा जाए, हम अंतर्निहित डेटासेट आईरिस का उपयोग करेंगे:

 #view first six rows of iris dataset
head(iris)

  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa

निम्नलिखित कोड दिखाता है कि Sepal.Length कॉलम के लिए 90वां प्रतिशतक मान कैसे प्राप्त करें:

 quantile (iris$Sepal.Length, probs = 0.9)

#90% 
#6.9

एकाधिक डेटा फ़्रेम कॉलम के प्रतिशत ढूँढना

हम apply() फ़ंक्शन का उपयोग करके एक साथ कई कॉलमों के प्रतिशत भी पा सकते हैं:

 #define columns we want to find percentiles for
small_iris<- iris[, c('Sepal.Length', 'Sepal.Width', 'Petal.Length', 'Petal.Width')]

#use apply() function to find 90th percentile for every column
apply (small_iris, 2, function(x) quantile(x, probs = .9))

#Sepal.Length Sepal.Width Petal.Length Petal.Width 
#6.90 3.61 5.80 2.20

समूह द्वारा प्रतिशतक की खोज

हम dplyr लाइब्रेरी से Group_by() फ़ंक्शन का उपयोग करके R में समूह द्वारा प्रतिशतक भी पा सकते हैं।

निम्नलिखित कोड दर्शाता है कि प्रत्येक के लिए Sepal.Length का 90वां प्रतिशत कैसे प्राप्त करें
आईरिस डेटासेट में तीन प्रजातियाँ:

 #load dplyr library
library(dplyr)

#find 90th percentile of Sepal.Length for each of the three species
iris %>%
  group_by (Species) %>%
  summarize (percent90 = quantile(Sepal.Length, probs = .9))

# A tibble: 3 x 2
#Speciespercent90
#            
#1 setosa 5.41
#2 versicolor 6.7 
#3 virginica 7.61

निम्नलिखित कोड बताता है कि प्रजातियों के अनुसार सभी चरों के लिए 90वां प्रतिशतक कैसे पाया जाए:

 iris %>%
  group_by (Species) %>%
  summarize (percent90_SL = quantile(Sepal.Length, probs = .9),
            percent90_SW = quantile(Sepal.Width, probs = .9),
            percent90_PL = quantile(Petal.Length, probs = .9),
            percent90_PW = quantile(Petal.Width, probs = .9))

# A tibble: 3 x 5
# Species percent90_SL percent90_SW percent90_PL percent90_PW
#                                      
#1 setosa 5.41 3.9 1.7 0.4 
#2 versicolor 6.7 3.11 4.8 1.51
#3 virginica 7.61 3.31 6.31 2.4 

प्रतिशतक देखना

आर में डेटासेट के प्रतिशत को देखने के लिए कोई अंतर्निहित फ़ंक्शन नहीं है, लेकिन हम अपेक्षाकृत आसानी से प्रतिशत को देखने के लिए एक प्लॉट बना सकते हैं।

निम्नलिखित कोड दर्शाता है कि आईरिस डेटासेट से सेपल.लंबाई डेटा मानों के लिए एक प्रतिशतक प्लॉट कैसे बनाया जाए:

 n = length(iris$Sepal.Length)
plot((1:n - 1)/(n - 1), sort(iris$Sepal.Length), type="l",
  main = "Visualizing Percentiles",
  xlab = "Percentile",
  ylab = "Value")

अतिरिक्त संसाधन

आर में अप्लाई(), लैप्पली(), सैप्लाई() और टैपप्लाई() के लिए एक गाइड
R में mutate() और केस_व्हेन() के साथ नए वेरिएबल बनाएं

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *