So teilen sie einen datenrahmen in r (mit beispielen)


Sie können eine der folgenden drei Methoden verwenden, um einen Datenrahmen in mehrere kleinere Datenblöcke in R aufzuteilen:

Methode 1: Teilen Sie den Datenrahmen manuell basierend auf den Zeilenwerten auf

 #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), ]

Methode 2: Teilen Sie den Datenrahmen in n Datenrahmen gleicher Größe

 #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)))

Methode 3: Teilen Sie den Datenrahmen basierend auf dem Spaltenwert auf

 #split data frame based on particular column value
df1 <- df[df$column_name == 0, ]
df2 <- df[df$column_name != 0, ]

Die folgenden Beispiele zeigen, wie jede Methode in der Praxis mit dem folgenden Datenrahmen verwendet wird:

 #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

Methode 1: Teilen Sie den Datenrahmen manuell basierend auf den Zeilenwerten auf

Der folgende Code zeigt, wie ein Datenrahmen in zwei kleinere Datenblöcke aufgeteilt wird, wobei der erste die Zeilen 1 bis 4 und der zweite die Zeilen 5 bis zur letzten Zeile enthält:

 #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

Methode 2: Teilen Sie den Datenrahmen in n Datenrahmen gleicher Größe

Der folgende Code zeigt, wie man einen Datenrahmen in n Datenrahmen gleicher Größe aufteilt:

 #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

Das Ergebnis sind drei Datenrahmen gleicher Größe.

Methode 3: Teilen Sie den Datenrahmen basierend auf dem Spaltenwert auf

Der folgende Code zeigt, wie ein Datenrahmen basierend auf dem Wert einer bestimmten Spalte in zwei Datenrahmen aufgeteilt wird:

 #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

Beachten Sie, dass df1 alle Zeilen enthält, in denen „leads“ im ursprünglichen Datenrahmen gleich Null war, und df2 alle Zeilen enthält, in denen „leads“ im ursprünglichen Datenrahmen gleich eins war.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie andere gängige Vorgänge in R ausgeführt werden:

So führen Sie mehrere Datenrahmen in R zusammen
So stapeln Sie Datenrahmenspalten in R
So fügen Sie dem Datenrahmen eine Spalte basierend auf anderen Spalten in R hinzu

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert