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)
आउटपुट:
| Name | Age | Marks | Grade |
|---|---|---|---|
| Amit | 21 | 88 | A |
| Priya | 22 | 92 | A+ |
| Neha | 23 | 76 | B |
| Raj | 21 | 85 | A |
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 में अंतर
| Concept | Meaning |
|---|---|
| NA | Missing data (Not Available) |
| NULL | Empty 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
- Concept and Formulation of Hypothesis Testing | परिकल्पना परीक्षण की अवधारणा और निर्माण
- Type I and Type II Errors in Hypothesis Testing | परिकल्पना परीक्षण में प्रकार I और प्रकार II त्रुटियाँ
- Neyman–Pearson Lemma in Hypothesis Testing | परिकल्पना परीक्षण में नेयमन–पियर्सन प्रमेय
- Procedures of Hypothesis Testing | परिकल्पना परीक्षण की प्रक्रिया
- Basics of Time Series Analysis and Forecasting | समय श्रेणी विश्लेषण और पूर्वानुमान के मूल सिद्धांत
- Stationarity in Time Series | समय श्रेणी में स्थिरता
- ARIMA Models: Identification, Estimation, and Forecasting | ARIMA मॉडल: पहचान, अनुमान और पूर्वानुमान
- Comparison between Parametric and Non-Parametric Inference | पैरामीट्रिक और नॉन-पैरामीट्रिक अनुमान की तुलना
- Use of Order Statistics | ऑर्डर सांख्यिकी का उपयोग
- Sign Test in Non-Parametric Inference | नॉन-पैरामीट्रिक अनुमान में साइन परीक्षण
- Wilcoxon Signed Rank Test | विल्कॉक्सन साइन रैंक परीक्षण
- Mann–Whitney U Test | मैन–व्हिटनी यू परीक्षण
- Run Test in Non-Parametric Inference | नॉन-पैरामीट्रिक अनुमान में रन परीक्षण
- Kolmogorov–Smirnov Test | कोल्मोगोरोव–स्मिरनोव परीक्षण
- Spearman’s Rank Correlation Test | स्पीयरमैन रैंक सहसंबंध परीक्षण
- Kendall’s Rank Correlation Test | केंडल रैंक सहसंबंध परीक्षण
- Tolerance Region in Statistics | सांख्यिकी में सहनीय क्षेत्र
- Greatest Common Divisors (GCD) | महत्तम समापवर्तक (GCD)
- The Euclidean Algorithm | यूक्लिडियन एल्गोरिद्म
- The Fundamental Theorem of Arithmetic | अंकगणित का मौलिक प्रमेय
- Factorization of Integers and Fermat Numbers | पूर्णांकों का गुणनखंडन और फर्मा संख्याएँ
- Introduction to Congruences | समांगता का परिचय
- Linear Congruences | रेखीय समांगताएँ
- The Chinese Remainder Theorem | चीनी शेष प्रमेय
- Systems of Linear Congruences | रेखीय समांग समीकरणों की प्रणाली
- Introduction to Stochastic Processes | आकस्मिक प्रक्रियाओं का परिचय
- Markov Process | मार्कोव प्रक्रिया
- Transition Probability and Transition Probability Matrix | संक्रमण प्रायिकता और संक्रमण प्रायिकता मैट्रिक्स
- First Order and Higher Order Markov Processes | प्रथम और उच्च क्रम की मार्कोव प्रक्रियाएँ
- n-Step Transition Probabilities | n-चरण संक्रमण प्रायिकताएँ
- Markov Chain | मार्कोव श्रृंखला
- Steady State Condition and Markov Analysis | स्थिर अवस्था की शर्त और मार्कोव विश्लेषण
- Introduction to R | R का परिचय
- Functions in R | R में फ़ंक्शन्स
- Control Flow and Loops in R | R में नियंत्रण प्रवाह और लूप्स
- Working with Vectors and Matrices in R | R में वेक्टर और मैट्रिक्स के साथ कार्य करना
- Reading Data in R | R में डेटा पढ़ना
- Writing Data in R | R में डेटा लिखना
- Working with and Manipulating Data in R | R में डेटा पर कार्य करना और उसे संशोधित करना
- Simulation in R | R में सिमुलेशन
- Linear Model in R | R में रैखिक मॉडल
- Data Frame in R | R में डेटा फ़्रेम