आर में डेटा फ़्रेम को कैसे विभाजित करें (उदाहरण के साथ)


आप डेटा फ़्रेम को 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 में वे सभी पंक्तियाँ शामिल हैं जहाँ “लीड” मूल डेटा फ़्रेम में एक के बराबर था।

अतिरिक्त संसाधन

निम्नलिखित ट्यूटोरियल बताते हैं कि आर में अन्य सामान्य ऑपरेशन कैसे करें:

आर में एकाधिक डेटा फ़्रेम कैसे मर्ज करें
आर में डेटा फ़्रेम कॉलम को कैसे स्टैक करें
आर में अन्य कॉलमों के आधार पर डेटा फ्रेम में कॉलम कैसे जोड़ें

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *