R में mutate() और केस_व्हेन() के साथ नए वेरिएबल बनाएं


अक्सर आप कुछ शर्तों के आधार पर आर में डेटा फ्रेम में एक नया वेरिएबल बनाना चाह सकते हैं। सौभाग्य से, dplyr पैकेज से mutate() और Case_when() फ़ंक्शंस का उपयोग करके ऐसा करना आसान है।

यह ट्यूटोरियल निम्नलिखित डेटा फ़्रेम के साथ इन फ़ंक्शनों का उपयोग करने के कई उदाहरण दिखाता है:

 #create data frame
df <- data.frame(player = c('a', 'b', 'c', 'd', 'e'),
                 position = c('G', 'F', 'F', 'G', 'G'),
                 points = c(12, 15, 19, 22, 32),
                 rebounds = c(5, 7, 7, 12, 11))

#view data frame
df

  player position points rebounds
1 to G 12 5
2 b F 15 7
3 c F 19 7
4 d G 22 12
5th G 32 11

उदाहरण 1: मौजूदा वेरिएबल के आधार पर एक नया वेरिएबल बनाएं

निम्नलिखित कोड दिखाता है कि अंक कॉलम में मान के आधार पर “स्कोरर” नामक एक नया वैरिएबल कैसे बनाया जाए:

 library(dplyr)

#define new variable 'scorer' using mutate() and case_when()
df %>%
  mutate (scorer = case_when (points < 15 ~ ' low ',
                           points < 25 ~ ' med ',
                           points < 35 ~ ' high '))

  player position points rebounds scorer
1 a G 12 5 low
2 b F 15 7 med
3 c F 19 7 med
4 d G 22 12 med
5th G 32 11 high

उदाहरण 2: कई मौजूदा वेरिएबल्स के आधार पर एक नया वेरिएबल बनाएं

निम्नलिखित कोड दिखाता है कि प्लेयर और स्थिति कॉलम में मान के आधार पर “प्रकार” नामक एक नया वैरिएबल कैसे बनाया जाए:

 library(dplyr)

#define new variable 'type' using mutate() and case_when()
df %>%
  mutate (type = case_when (player == 'a' | player == 'b' ~ ' starter ',
                            player == 'c' | player == 'd' ~ ' backup ',
                            position == 'G' ~ ' reserve '))

  player position points rebounds type
1 a G 12 5 starter
2 b F 15 7 starter
3 c F 19 7 backup
4 d G 22 12 backup
5th G 32 11 reserve

निम्नलिखित कोड दिखाता है कि पॉइंट और रिबाउंड कॉलम के मूल्य के आधार पर “वैल्यूएडेड” नामक एक नया वेरिएबल कैसे बनाया जाए:

 library(dplyr)

#define new variable 'valueAdded' using mutate() and case_when()
df %>%
  mutate (valueAdded = case_when (points <= 15 & rebounds <=5 ~ 2,
                                points <=15 & rebounds > 5 ~ 4,
                                points < 25 & rebounds < 8 ~ 6,
                                points < 25 & rebounds > 8 ~ 7,
                                points >=25 ~ 9))

  player position points rebounds valueAdded
1 to G 12 5 2
2 b F 15 7 4
3c F 19 7 6
4 d G 22 12 7
5th G 32 11 9

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

आर में कॉलम का नाम कैसे बदलें
आर में कॉलम कैसे हटाएं
आर में पंक्तियों को कैसे फ़िल्टर करें

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

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