R में na को माध्यिका से कैसे बदलें


आप R में dplyr और Tidyr पैकेज के फ़ंक्शंस का उपयोग करके NA मानों को माध्यिका से बदलने के लिए निम्नलिखित विधियों का उपयोग कर सकते हैं:

विधि 1: किसी कॉलम में NA मानों को माध्यिका से बदलें

 df %>% mutate(across(col1, ~replace_na(., median(., na. rm = TRUE ))))

विधि 2: NA मानों को एकाधिक स्तंभों में माध्यिका से बदलें

 df %>% mutate(across(c(col1, col2), ~replace_na(., median(., na. rm = TRUE ))))

विधि 3: सभी संख्यात्मक स्तंभों में NA मानों को माध्यिका से बदलें

 df %>% mutate(across(where(is. numeric ), ~replace_na(., median(., na. rm = TRUE ))))

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

 #create data frame
df <- data. frame (player=c('A', 'B', 'C', 'D', 'E'),
                 points=c(17, 13, NA, 9, 25),
                 rebounds=c(3, 4, NA, NA, 8),
                 blocks=c(1, 1, 2, 4, NA))

#view data frame
df

  player points rebounds blocks
1 to 17 3 1
2 B 13 4 1
3 C NA NA 2
4 D 9 NA 4
5 E 25 8 NA

उदाहरण 1: किसी कॉलम में NA मानों को माध्यिका से बदलें

निम्नलिखित कोड दिखाता है कि बिंदु स्तंभ में NA मानों को बिंदु स्तंभ के औसत मान से कैसे बदला जाए:

 library (dplyr)
library (tidyr)

#replace NA values in points column with median of points column
df <- df %>% mutate(across(points, ~replace_na(., median(., na. rm = TRUE ))))

#view updated data frame
df

  player points rebounds blocks
1 to 17 3 1
2 B 13 4 1
3 C 15 NA 2
4 D 9 NA 4
5 E 25 8 NA

अंक कॉलम में औसत मान 15 था, इसलिए अंक कॉलम में एनए मान 15 से बदल दिया गया था।

अन्य सभी कॉलम अपरिवर्तित रहे.

उदाहरण 2: कई कॉलमों में NA मानों को माध्यिका से बदलें

निम्नलिखित कोड दिखाता है कि बिंदु और ब्लॉक कॉलम में NA मानों को उनके संबंधित कॉलम मध्यस्थों के साथ कैसे बदला जाए:

 library (dplyr)
library (tidyr)

#replace NA values in points and blocks columns with their respective medians
df <- df %>% mutate(across(c(points, blocks), ~replace_na(., median(., na. rm = TRUE ))))

#view updated data frame
df

  player points rebounds blocks
1 to 17 3 1.0
2 B 13 4 1.0
3 C 15 NA 2.0
4 D 9 NA 4.0
5 E 25 8 1.5

ध्यान दें कि बिंदु और ब्लॉक कॉलम में NA मान दोनों को उनके संबंधित कॉलम मध्यस्थों से बदल दिया गया है।

उदाहरण 3: सभी संख्यात्मक स्तंभों में NA मानों को माध्यिका से बदलें

निम्नलिखित कोड दिखाता है कि प्रत्येक संख्यात्मक कॉलम में NA मानों को उनके संबंधित औसत मान से कैसे बदला जाए:

 library (dplyr)
library (tidyr)

#replace NA values in all numeric columns with their respective medians
df <- df %>% mutate(across(where(is. numeric ), ~replace_na(., median(., na. rm = TRUE ))))

#view updated data frame
df

  player points rebounds blocks
1 to 17 3 1.0
2 B 13 4 1.0
3 C 15 4 2.0
4 D 9 4 4.0
5 E 25 8 1.5

ध्यान दें कि सभी संख्यात्मक स्तंभों में NA मानों को उनके संबंधित स्तंभ माध्यकों द्वारा प्रतिस्थापित कर दिया गया है।

एकमात्र कॉलम जो संख्यात्मक नहीं था (प्लेयर) अपरिवर्तित रहा।

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

निम्नलिखित ट्यूटोरियल बताते हैं कि dplyr में अन्य सामान्य कार्य कैसे करें:

Dplyr का उपयोग करके एक निश्चित स्ट्रिंग वाली पंक्तियों को कैसे फ़िल्टर करें
Dplyr का उपयोग करके पंक्तियों को कैसे हटाएं
Dplyr मेंcross() फ़ंक्शन का उपयोग कैसे करें

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

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