आर में डेटा फ़्रेम को कैसे विभाजित करें (उदाहरण के साथ)
आप डेटा फ़्रेम को R में कई छोटे डेटा ब्लॉक में विभाजित करने के लिए निम्नलिखित तीन तरीकों में से एक का उपयोग कर सकते हैं:
विधि 1: पंक्ति मानों के आधार पर डेटा फ़्रेम को मैन्युअल रूप से विभाजित करें
#define first n rows to include in first data frame n <- 4 #split data frame into two smaller data frames df1 <- df[row. names (df) %in% 1:n, ] df2 <- df[row. names (df) %in% (n+1):nrow(df), ]
विधि 2: डेटा फ़्रेम को समान आकार के n डेटा फ़्रेम में विभाजित करें
#define number of data frames to split into n <- 3 #split data frame into n equal-sized data frames split(df, factor(sort(rank(row. names (df)) %% n)))
विधि 3: कॉलम मान के आधार पर डेटा फ़्रेम को विभाजित करें
#split data frame based on particular column value df1 <- df[df$column_name == 0, ] df2 <- df[df$column_name != 0, ]
निम्नलिखित उदाहरण दिखाते हैं कि निम्नलिखित डेटा फ़्रेम के साथ व्यवहार में प्रत्येक विधि का उपयोग कैसे करें:
#create data frame df <- data. frame (ID=c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), sales=c(7, 8, 8, 7, 9, 7, 8, 9, 3, 3, 14, 10), leads=c(0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0)) #view data frame df Sales lead ID 1 1 7 0 2 2 8 0 3 3 8 1 4 4 7 1 5 5 9 0 6 6 7 1 7 7 8 1 8 8 9 0 9 9 3 1 10 10 3 0 11 11 14 1 12 12 10 0
विधि 1: पंक्ति मानों के आधार पर डेटा फ़्रेम को मैन्युअल रूप से विभाजित करें
निम्नलिखित कोड दिखाता है कि डेटा फ़्रेम को दो छोटे डेटा ब्लॉकों में कैसे विभाजित किया जाए, पहले में पंक्तियाँ 1 से 4 तक और दूसरी में पंक्तियाँ 5 से अंतिम पंक्ति तक:
#define row to split on
n <- 4
#split into two data frames
df1 <- df[row. names (df) %in% 1:n, ]
df2 <- df[row. names (df) %in% (n+1):nrow(df), ]
#view resulting data frames
df1
Sales lead ID
1 1 7 0
2 2 8 0
3 3 8 1
4 4 7 1
df2
Sales lead ID
5 5 9 0
6 6 7 1
7 7 8 1
8 8 9 0
9 9 3 1
10 10 3 0
11 11 14 1
12 12 10 0
विधि 2: डेटा फ़्रेम को समान आकार के n डेटा फ़्रेम में विभाजित करें
निम्नलिखित कोड दिखाता है कि डेटा फ़्रेम को समान आकार के n डेटा फ़्रेम में कैसे विभाजित किया जाए:
#define number of data frames to split into n <- 3 #split data frame into n equal-sized data frames split(df, factor(sort(rank(row. names (df)) %% n))) $`0` Sales lead ID 1 1 7 0 2 2 8 0 3 3 8 1 4 4 7 1 $`1` Sales lead ID 5 5 9 0 6 6 7 1 7 7 8 1 8 8 9 0 $`2` Sales lead ID 9 9 3 1 10 10 3 0 11 11 14 1 12 12 10 0
परिणाम समान आकार के तीन डेटा फ़्रेम हैं।
विधि 3: कॉलम मान के आधार पर डेटा फ़्रेम को विभाजित करें
निम्नलिखित कोड दिखाता है कि किसी विशिष्ट कॉलम के मान के आधार पर डेटा फ़्रेम को दो डेटा फ़्रेमों में कैसे विभाजित किया जाए:
#split data frame based on particular column value df1 <- df[df$leads == 0, ] df2 <- df[df$leads != 0, ] #view resulting data frames df1 Sales lead ID 1 1 7 0 2 2 8 0 5 5 9 0 8 8 9 0 10 10 3 0 12 12 10 0 df2 Sales lead ID 3 3 8 1 4 4 7 1 6 6 7 1 7 7 8 1 9 9 3 1 11 11 14 1
ध्यान दें कि df1 में वे सभी पंक्तियाँ शामिल हैं जहाँ मूल डेटा फ़्रेम में “लीड” शून्य के बराबर था और df2 में वे सभी पंक्तियाँ शामिल हैं जहाँ “लीड” मूल डेटा फ़्रेम में एक के बराबर था।
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि आर में अन्य सामान्य ऑपरेशन कैसे करें:
आर में एकाधिक डेटा फ़्रेम कैसे मर्ज करें
आर में डेटा फ़्रेम कॉलम को कैसे स्टैक करें
आर में अन्य कॉलमों के आधार पर डेटा फ्रेम में कॉलम कैसे जोड़ें