Dplyr में na को मीन से कैसे बदलें
आप R में dplyr और Tidyr पैकेज के फ़ंक्शंस का उपयोग करके NA मानों को माध्य से बदलने के लिए निम्न विधियों का उपयोग कर सकते हैं:
विधि 1: किसी कॉलम में NA मानों को औसत से बदलें
df %>% mutate(across(col1, ~replace_na(., mean(., na. rm = TRUE ))))
विधि 2: कई कॉलमों में NA मानों को औसत से बदलें
df %>% mutate(across(c(col1, col2), ~replace_na(., mean(., na. rm = TRUE ))))
विधि 3: सभी संख्यात्मक स्तंभों में NA मानों को औसत से बदलें
df %>% mutate(across(where(is. numeric ), ~replace_na(., mean(., 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 mean of points column df <- df %>% mutate(across(points, ~replace_na(., mean(., na. rm = TRUE )))) #view updated data frame df player points rebounds blocks 1 to 17 3 1 2 B 13 4 1 3 C 16 NA 2 4 D 9 NA 4 5 E 25 8 NA
अंक कॉलम में औसत मान 16 था, इसलिए अंक कॉलम में एनए मान 16 से बदल दिया गया था।
अन्य सभी कॉलम अपरिवर्तित रहे.
उदाहरण 2: कई कॉलमों में NA मानों को औसत से बदलें
निम्नलिखित कोड दिखाता है कि बिंदु और ब्लॉक कॉलम में NA मानों को उनके संबंधित कॉलम औसत से कैसे बदला जाए:
library (dplyr) library (tidyr) #replace NA values in points and blocks columns with their respective means df <- df %>% mutate(across(c(points, blocks), ~replace_na(., mean(., na. rm = TRUE )))) #view updated data frame df player points rebounds blocks 1 to 17 3 1 2 B 13 4 1 3 C 16 NA 2 4 D 9 NA 4 5 E 25 8 2
ध्यान दें कि बिंदु और ब्लॉक कॉलम में NA मान दोनों को उनके संबंधित कॉलम साधनों द्वारा प्रतिस्थापित कर दिया गया है।
उदाहरण 3: सभी संख्यात्मक स्तंभों में NA मानों को औसत से बदलें
निम्नलिखित कोड दिखाता है कि प्रत्येक संख्यात्मक कॉलम में NA मानों को उनके संबंधित औसत मान से कैसे बदला जाए:
library (dplyr) library (tidyr) #replace NA values in all numeric columns with their respective means df <- df %>% mutate(across(where(is. numeric ), ~replace_na(., mean(., na. rm = TRUE )))) #view updated data frame df player points rebounds blocks 1 to 17 3 1 2 B 13 4 1 3 C 16 5 2 4 D 9 5 4 5 E 25 8 2
ध्यान दें कि सभी संख्यात्मक स्तंभों में NA मानों को उनके संबंधित स्तंभ साधनों द्वारा प्रतिस्थापित कर दिया गया है।
एकमात्र कॉलम जो संख्यात्मक नहीं था (प्लेयर) अपरिवर्तित रहा।
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि dplyr में अन्य सामान्य कार्य कैसे करें:
Dplyr का उपयोग करके एक निश्चित स्ट्रिंग वाली पंक्तियों को कैसे फ़िल्टर करें
Dplyr का उपयोग करके सापेक्ष आवृत्तियों की गणना कैसे करें
dplyr का उपयोग करके समूह द्वारा पहली पंक्ति का चयन कैसे करें