Working with and Manipulating Data in R | R में डेटा पर कार्य करना और उसे संशोधित करना


R में डेटा पर कार्य करना और उसे संशोधित करना (Working with and Manipulating Data in R)

परिचय

डेटा साइंस में डेटा को पढ़ने के बाद सबसे आवश्यक कार्य होता है — डेटा को प्रोसेस और संशोधित करना (Manipulate Data)। R प्रोग्रामिंग भाषा में डेटा को फ़िल्टर करना, जोड़ना, हटाना, ग्रुप करना, पुन: आकार देना (reshape) और ट्रांसफॉर्म करना बहुत आसान है। डेटा मैनिपुलेशन हमें असंगठित डेटा को विश्लेषण योग्य (Analysis-ready) फॉर्मेट में बदलने में मदद करता है।

R में इसके लिए कई पैकेज और टूल्स उपलब्ध हैं — जैसे कि dplyr, tidyr, data.table और reshape2। इन टूल्स की मदद से हम डेटा को सरल, तेज़ और प्रभावी तरीके से हैंडल कर सकते हैं।

1️⃣ dplyr पैकेज का परिचय

dplyr R का सबसे लोकप्रिय पैकेज है जो डेटा मैनिपुलेशन के लिए पाँच मुख्य क्रियाओं पर आधारित है:

  • filter() — पंक्तियों को फ़िल्टर करने के लिए
  • select() — विशेष कॉलम चुनने के लिए
  • arrange() — डेटा को क्रमबद्ध करने के लिए
  • mutate() — नए कॉलम बनाने या मौजूदा में बदलाव करने के लिए
  • summarize() — सारांश निकालने के लिए

पैकेज लोड करना

install.packages('dplyr')
library(dplyr)

उदाहरण डेटा

data <- data.frame(
  Name = c('Amit', 'Priya', 'Raj', 'Neha', 'Rohit'),
  Marks = c(85, 92, 76, 88, 95),
  Subject = c('Maths', 'Science', 'Maths', 'English', 'Science')
)

1. filter()

filter(data, Marks > 85)

2. select()

select(data, Name, Marks)

3. arrange()

arrange(data, desc(Marks))

4. mutate()

mutate(data, Grade = ifelse(Marks >= 90, 'A+', 'A'))

5. summarize()

summarize(data, Average_Marks = mean(Marks))

2️⃣ ग्रुपिंग (Grouping Data)

डेटा को किसी कॉलम के आधार पर ग्रुप करके उसका सारांश निकालना dplyr की सबसे बड़ी शक्ति है।

data %>%
  group_by(Subject) %>%
  summarise(Average = mean(Marks))

3️⃣ tidyr पैकेज द्वारा डेटा का पुनर्रूपण (Reshaping Data)

tidyr डेटा को “wide” और “long” फॉर्मेट में बदलने के लिए उपयोगी है।

install.packages('tidyr')
library(tidyr)

# wide to long
long_data <- pivot_longer(data, cols = Marks, names_to = 'Variable', values_to = 'Value')

# long to wide
wide_data <- pivot_wider(long_data, names_from = Variable, values_from = Value)

4️⃣ कॉलम जोड़ना और हटाना

# नया कॉलम जोड़ना
data$Percentage <- data$Marks / 100 * 100

# कॉलम हटाना
data$Subject <- NULL

5️⃣ Missing Values का हैंडलिंग

data <- data.frame(A = c(1, 2, NA, 4), B = c(5, NA, 7, 8))
na.omit(data)        # Missing values हटाना
data[is.na(data)] <- 0  # NA को 0 से बदलना

6️⃣ डेटा मर्ज करना (Merging and Joining)

दो या अधिक डेटा फ़्रेम्स को जोड़ने के लिए:

students <- data.frame(ID = 1:3, Name = c('Amit', 'Priya', 'Raj'))
marks <- data.frame(ID = 1:3, Score = c(90, 85, 88))

merge(students, marks, by = 'ID')

dplyr में joins भी उपलब्ध हैं:

left_join(students, marks, by = 'ID')
inner_join(students, marks, by = 'ID')

7️⃣ Sorting and Filtering Complex Data

data %>%
  filter(Marks > 80 & Subject == 'Maths') %>%
  arrange(desc(Marks))

8️⃣ डेटा फ्रेम में Rename करना

rename(data, Student_Name = Name)

9️⃣ Conditional Transformation

data %>%
  mutate(Remarks = case_when(
    Marks >= 90 ~ 'Excellent',
    Marks >= 80 ~ 'Good',
    TRUE ~ 'Average'
  ))

🔟 String Manipulation

R में stringr पैकेज का उपयोग किया जाता है:

install.packages('stringr')
library(stringr)

str_to_upper(data$Name)
str_detect(data$Subject, 'Math')

1️⃣1️⃣ Outlier Handling

q <- quantile(data$Marks, probs = c(0.25, 0.75))
iqr <- q[2] - q[1]
data <- data[data$Marks < (q[2] + 1.5*iqr) & data$Marks > (q[1] - 1.5*iqr), ]

1️⃣2️⃣ डेटा सॉर्टिंग और यूनिक वैल्यूज़

unique(data$Subject)
sort(data$Marks)

1️⃣3️⃣ Data Table पैकेज का उपयोग

data.table पैकेज तेज़ गति से डेटा मैनिपुलेशन के लिए प्रसिद्ध है।

install.packages('data.table')
library(data.table)

dt <- data.table(data)
dt[Marks > 80, .(Average = mean(Marks)), by = Subject]

1️⃣4️⃣ डेटा मैनिपुलेशन में पाइप (%>%) का महत्व

Pipes हमें कई कार्यों को एक साथ चेन करने की सुविधा देते हैं, जिससे कोड अधिक पठनीय बनता है।

data %>%
  filter(Marks > 80) %>%
  arrange(Marks) %>%
  mutate(Grade = ifelse(Marks >= 90, 'A+', 'A'))

1️⃣5️⃣ व्यावहारिक उपयोग

  • डेटा क्लीनिंग
  • Exploratory Data Analysis (EDA)
  • Feature Engineering
  • रिपोर्ट जनरेशन
  • डैशबोर्ड डेटा तैयारी

निष्कर्ष

R में डेटा मैनिपुलेशन हर डेटा वैज्ञानिक के लिए एक महत्वपूर्ण कौशल है। dplyr, tidyr और data.table जैसे पैकेजों ने डेटा को हैंडल करने की प्रक्रिया को बेहद सरल और तेज़ बना दिया है। डेटा को सही ढंग से प्रोसेस करना किसी भी विश्लेषण की सफलता की कुंजी है। इसलिए R में डेटा मैनिपुलेशन को सीखना और अभ्यास करना हर डेटा इंजीनियर और विश्लेषक के लिए आवश्यक है।

Related Post