आर में डेटा सफ़ाई कैसे करें (उदाहरण के साथ)
डेटा क्लीनिंग से तात्पर्य कच्चे डेटा को विश्लेषण या मॉडल निर्माण के लिए उपयुक्त डेटा में बदलने की प्रक्रिया से है।
ज्यादातर मामलों में, किसी डेटासेट की “सफाई” में लापता मानों और डुप्लिकेट डेटा से निपटना शामिल होता है।
आर में डेटासेट को “साफ” करने के लिए सबसे आम तरीके यहां दिए गए हैं:
विधि 1: लुप्त मान वाली पंक्तियाँ हटाएँ
library (dplyr) #remove rows with any missing values df %>% na. omit ()
विधि 2: लुप्त मानों को दूसरे मान से बदलें
library (dplyr) library (tidyr) #replace missing values in each numeric column with median value of column df %>% mutate(across(where(is. numeric ), ~replace_na(., median(., na. rm = TRUE ))))
विधि 3: डुप्लिकेट पंक्तियाँ हटाएँ
library (dplyr) df %>% distinct(. keep_all = TRUE )
निम्नलिखित उदाहरण दिखाते हैं कि आर में निम्नलिखित डेटा फ्रेम के साथ अभ्यास में इनमें से प्रत्येक विधि का उपयोग कैसे किया जाए जिसमें विभिन्न बास्केटबॉल खिलाड़ियों के बारे में जानकारी शामिल है:
#create data frame df <- data. frame (team=c('A', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'), points=c(4, 4, NA, 8, 6, 12, 14, 86, 13, 8), rebounds=c(9, 9, 7, 6, 8, NA, 9, 14, 12, 11), assists=c(2, 2, NA, 7, 6, 6, 9, 10, NA, 14)) #view data frame df team points rebound assists 1 to 4 9 2 2 to 4 9 2 3 B NA 7 NA 4 C 8 6 7 5 D 6 8 6 6 E 12 NA 6 7 F 14 9 9 8 G 86 14 10 9:13:12 NA 10 I 8 11 14
उदाहरण 1: लुप्त मान वाली पंक्तियाँ हटाएँ
हम किसी भी कॉलम में लुप्त मान वाली पंक्तियों को हटाने के लिए निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं:
library (dplyr) #remove rows with missing values new_df <- df %>% na. omit () #view new data frame new_df team points rebound assists 1 to 4 9 2 2 to 4 9 2 4 C 8 6 7 5 D 6 8 6 7 F 14 9 9 8 G 86 14 10 10 I 8 11 14
ध्यान दें कि नए डेटा फ़्रेम में लुप्त मानों वाली कोई पंक्ति नहीं है।
उदाहरण 2: लुप्त मानों को दूसरे मान से बदलें
हम प्रत्येक कॉलम के औसत मूल्य के साथ लापता मानों को बदलने के लिए निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं:
library (dplyr) library (tidyr) #replace missing values in each numeric column with median value of column new_df <-df %>% mutate(across(where(is. numeric ),~replace_na(.,median(.,na. rm = TRUE )))) #view new data frame new_df team points rebound assists 1 to 4 9 2.0 2 to 4 9 2.0 3 B 8 7 6.5 4 C 8 6 7.0 5 D 6 8 6.0 6 E 12 9 6.0 7 F 14 9 9.0 8 G 86 14 10.0 9:13 12 6.5 10 I 8 11 14.0
ध्यान दें कि प्रत्येक संख्यात्मक कॉलम में लुप्त मानों को कॉलम के औसत मान से बदल दिया गया है।
ध्यान दें कि आप प्रत्येक कॉलम के माध्य मान के साथ लुप्त मानों को बदलने के लिए सूत्र में माध्य को माध्य से भी बदल सकते हैं।
नोट : हमें इस उदाहरण में Tidyr पैकेज भी लोड करना पड़ा क्योंकि ड्रॉप_ना() फ़ंक्शन उस पैकेज से आता है।
उदाहरण 3: डुप्लिकेट पंक्तियाँ हटाएँ
हम प्रत्येक कॉलम के औसत मूल्य के साथ लापता मानों को बदलने के लिए निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं:
library (dplyr) #remove duplicate rows new_df <- df %>% distinct(. keep_all = TRUE ) #view new data frame new_df team points rebound assists 1 to 4 9 2 2 B NA 7 NA 3 C 8 6 7 4 D 6 8 6 5 E 12 NA 6 6 F 14 9 9 7 G 86 14 10 8:13:12 NA 9 I 8 11 14
ध्यान दें कि दूसरी पंक्ति को डेटा फ़्रेम से हटा दिया गया था क्योंकि दूसरी पंक्ति के प्रत्येक मान पहली पंक्ति के मानों के डुप्लिकेट थे।
नोट : आप यहां dplyr विशिष्ट() फ़ंक्शन के लिए पूर्ण दस्तावेज़ पा सकते हैं।
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि आर में अन्य सामान्य कार्य कैसे करें:
आर में डेटा को समूहीकृत और सारांशित कैसे करें
आर में सारांश तालिकाएँ कैसे बनाएँ
आर में गुम मान वाली पंक्तियों को कैसे हटाएं