Data Frame in R | R में डेटा फ़्रेम


R में डेटा फ़्रेम (Data Frame in R)

परिचय

R प्रोग्रामिंग भाषा में डेटा फ़्रेम (Data Frame) सबसे महत्वपूर्ण डेटा संरचनाओं में से एक है। यह एक दो-आयामी (2D) डेटा संरचना होती है जो टेबल के रूप में डेटा को संग्रहीत करती है, बिल्कुल Excel शीट की तरह। डेटा फ़्रेम में कॉलम विभिन्न प्रकार के डेटा (जैसे Numeric, Character, Factor) रख सकते हैं। इसी कारण से डेटा फ्रेम R में वास्तविक जीवन के डेटा विश्लेषण के लिए सबसे अधिक उपयोग किए जाते हैं।

1️⃣ डेटा फ्रेम की विशेषताएँ

  • यह पंक्तियों (Rows) और कॉलम्स (Columns) में व्यवस्थित होता है।
  • हर कॉलम अलग-अलग डेटा प्रकार का हो सकता है।
  • डेटा को पढ़ना, लिखना और संशोधित करना आसान होता है।
  • यह डेटा विश्लेषण और मॉडलिंग के लिए सबसे उपयोगी संरचना है।

2️⃣ डेटा फ्रेम बनाना

# Creating a data frame
students <- data.frame(
  Name = c('Amit', 'Priya', 'Neha', 'Raj'),
  Age = c(21, 22, 23, 21),
  Marks = c(88, 92, 76, 85),
  Grade = c('A', 'A+', 'B', 'A')
)

print(students)

आउटपुट:

NameAgeMarksGrade
Amit2188A
Priya2292A+
Neha2376B
Raj2185A

3️⃣ डेटा फ्रेम की जानकारी प्राप्त करना

str(students)
summary(students)
nrow(students)
ncol(students)
colnames(students)
rownames(students)

4️⃣ डेटा तक पहुँच (Accessing Data)

डेटा फ्रेम में किसी विशेष पंक्ति, कॉलम या सेल तक पहुँचने के लिए:

students$Name
students[1, ]
students[, 2]
students[2, 3]
students[1:3, c('Name','Marks')]

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

# नया कॉलम जोड़ना
students$Subject <- c('Maths', 'Science', 'English', 'History')

# कॉलम हटाना
students$Grade <- NULL

6️⃣ डेटा को फ़िल्टर करना

subset(students, Marks > 85)

7️⃣ डेटा फ्रेम्स को संयोजित करना (Combining Data Frames)

df1 <- data.frame(ID=1:3, Name=c('Amit','Neha','Raj'))
df2 <- data.frame(ID=4:6, Name=c('Priya','Kunal','Riya'))

# Row bind
combined <- rbind(df1, df2)

# Column bind
extra <- data.frame(Marks=c(90,85,78,92,80,95))
final_df <- cbind(combined, extra)

8️⃣ Sorting और Ordering

students[order(students$Marks, decreasing=TRUE), ]

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

students$Marks[2] <- NA
students
students <- na.omit(students)

🔟 Rename Columns

colnames(students) <- c('Student_Name','Age','Marks','Subject')

1️⃣1️⃣ dplyr के साथ डेटा फ्रेम मैनिपुलेशन

R में dplyr पैकेज डेटा फ्रेम्स पर कुशल कार्य करने के लिए प्रसिद्ध है।

library(dplyr)

students %>%
  filter(Marks > 80) %>%
  select(Name, Marks) %>%
  mutate(Result = ifelse(Marks >= 90, 'Excellent', 'Good'))

1️⃣2️⃣ कॉलम्स को सारांशित करना

aggregate(Marks ~ Subject, data=students, mean)

1️⃣3️⃣ Data Frame को CSV या Excel में सहेजना

write.csv(students, 'students_data.csv', row.names=FALSE)

library(writexl)
write_xlsx(students, 'students_data.xlsx')

1️⃣4️⃣ डेटा फ्रेम्स को मर्ज करना

marks_df <- data.frame(Name=c('Amit','Neha','Priya'), Score=c(88,79,92))
merge(students, marks_df, by='Name', all=TRUE)

1️⃣5️⃣ NA, NULL और Empty Values में अंतर

ConceptMeaning
NAMissing data (Not Available)
NULLEmpty object or no value
""Blank value in text

1️⃣6️⃣ Factors और Data Frames

जब डेटा फ्रेम में कैटेगोरिकल डेटा होता है, तो R उसे “factor” में बदल देता है।

students$Subject <- as.factor(students$Subject)
summary(students$Subject)

1️⃣7️⃣ Real-world Example

मान लीजिए आपके पास किसी कंपनी के कर्मचारियों का डेटा है:

employees <- data.frame(
  Name = c('Aarav','Kiran','Mohan','Riya'),
  Salary = c(45000,52000,49000,60000),
  Department = c('HR','IT','Finance','IT')
)

# Filter IT employees earning above 50000
subset(employees, Department=='IT' & Salary>50000)

1️⃣8️⃣ Data Frame को Transform करना

transform(employees, Bonus = Salary * 0.1)

1️⃣9️⃣ Advanced Operations — Nested and Hierarchical Data

R में list-columns वाले data frames को भी संभाला जा सकता है।

library(tibble)
df <- tibble(
  Name = c('A','B'),
  Scores = list(c(85,90,88), c(70,75,80))
)
df

2️⃣0️⃣ निष्कर्ष

R में डेटा फ्रेम एक अत्यंत लचीली और शक्तिशाली डेटा संरचना है। यह हमें संरचित डेटा के साथ प्रभावी ढंग से काम करने की अनुमति देता है। Data Frames सांख्यिकीय विश्लेषण, डेटा विज़ुअलाइज़ेशन, मशीन लर्निंग और रिपोर्ट जनरेशन के लिए एक केंद्रीय आधार हैं। एक डेटा वैज्ञानिक के लिए Data Frames को समझना और उन पर काम करना एक बुनियादी और अनिवार्य कौशल है।

Related Post