So transponieren Sie den DataFrame in R

So Transponieren Sie Den Dataframe In R



Das Transponieren eines Datensatzes ist eine solche Operation, die die Daten reformiert, um die besonderen Anforderungen der Analyse zu erfüllen. Beim Transponieren eines Datensatzes werden Zeilen und Spalten des Datensatzes umgekehrt, was zu einem neuen Datensatz mit vertauschten Spalten und Zeilen führt. R bietet einige Funktionen zum Transponieren eines Datensatzes. In diesem Artikel behandeln wir die verschiedenen Transpositionsmethoden für DataFrames in R.

Beispiel 1: Transponieren Sie den DataFrame mit der T()-Funktion in R

Die t()-Funktion ist eine eingebaute Funktion von R, die verwendet wird, um einen DataFrame zu transponieren. Es konvertiert den DataFrame jedoch in eine Matrix, sodass alle nicht numerischen Spalten in Zeichenfolgen umgewandelt werden. Betrachten Sie das folgende R-Skript, um den DataFrame zu transponieren:







MeineDaten = data.frame (c1 = c (1, 2, 3, 4, 5),

c2 = c(6, 7, 8, 9, 10),
c3 = c(11, 12, 13, 14, 15))

row.names(MeineDaten) = c('r1','r2','r3','r4','r5')

t(MeineDaten)

Hier deklarieren wir den MyData-Vektor und weisen ihm data.frame() zu. Wir fügen die Beispieldaten, die drei Spalten mit den Werten enthalten, in die Funktion data.frame() ein. Danach verwenden wir die Funktion „row.names()“ und setzen die Zeilennamen für die Werte des DataFrame „MyData“. Schließlich transponieren wir den DataFrame „MyData“ mit der Funktion t().



Die folgende Ausgabe zeigt die Transposition des DataFrame, wobei die Zeilennamen des ursprünglichen DataFrame zu den Spaltennamen des transponierten DataFrame werden und die Spaltennamen des ursprünglichen DataFrame bei der Transposition verloren gehen:







Beispiel 2: Transponieren Sie den DataFrame mit der Transpose()-Funktion in R

Die Funktion transpose() aus dem Paket „data.table“ kann auch verwendet werden, um einen DataFrame zu transponieren und gibt einen DataFrame zurück. Daher müssen wir sicherstellen, dass die „data.table“ in R installiert ist. Wenn sie dann nicht gefunden wird, können wir sie mit dem folgenden Befehl installieren:

install.packages('data.table')

Jetzt können wir das „data.table“-Paket einfach importieren, um auf die transpose()-Funktion in R zuzugreifen, um den DataFrame zu transponieren. Betrachten Sie den folgenden R-Code, in dem die Funktion transpose() aufgerufen wird, um den DataFrame zu transponieren:



df <- data.frame (A = c (1:5),

B = c(6:10),
C = c(11:15))


row.names(df) <- c('r1', 'r2', 'r3', 'r4', 'r5')

df

Hier erstellen wir den DataFrame „df“ mit drei Spalten und fünf Zeilen, wobei jede Spalte eine Zahlenfolge von 1 bis 5, 6 bis 10 bzw. 11 bis 15 enthält. Zusätzlich weisen wir die DataFrame-Zeilennamen mit der Funktion row.names() zu. Danach drucken wir den ursprünglichen DataFrame auf die Konsole.

Der ursprüngliche DataFrame wird hier auf dem Bildschirm angezeigt:

Als nächstes transponieren wir den ursprünglichen „df“ DataFrame, indem wir die Zeilen und Spalten des DataFrames vertauschen.

Bibliothek (data.table)

df_trans <- transponieren (df)

Zeilennamen (df_trans) <- Spaltennamen (df)

Spaltennamen (df_trans) <- Zeilennamen (df)

df_trans

Dazu laden wir zunächst die Bibliothek „data.table“, die die Werkzeuge bereitstellt, um mit den tabellarischen Daten in R zu arbeiten. Anschließend wird die Funktion transpose() aus der Bibliothek „data.table“ verwendet. Der resultierende transponierte DataFrame wird einer neuen Variablen namens „df_t“ zugewiesen. Danach weisen wir dem transponierten DataFrame „df_trans“ mit der Funktion rownames() die Spaltennamen des ursprünglichen DataFrame „df“ als Zeilennamen zu. Dann werden die Zeilennamen des ursprünglichen „df“-DataFrames mithilfe der colnames()-Funktion als Spaltennamen dem transponierten „df_trans“-DataFrame zugewiesen.

Somit wird die ursprüngliche DataFrame-Transposition in der Ausgabe erreicht. Es stellt jede Zelle im transponierten DataFrame dar, in der sie denselben Wert wie die entsprechende Zelle im ursprünglichen DataFrame enthält, jedoch aufgrund der Transposition an einer anderen Position.

Beispiel 3: Transponieren Sie den DataFrame mit der Funktion Tidyr Library Gather() in R

Das Tidyr-Paket von R kann verwendet werden, um einen DataFrame zu transponieren. Diese Methode ist nützlich, wenn wir einen DataFrame vom Breitformat in das Langformat und dann zurück in das Breitformat mit vertauschten Zeilen und Spalten konvertieren möchten. Es bietet mehrere Funktionen zum Transformieren und Reorganisieren der Daten. Zuvor müssen wir das Tidyr-Paket speziell mit dem folgenden Befehl herunterladen:

install.packages('tidyr')

Betrachten wir den folgenden R-Code. Wir verwenden die collect()-Funktion dieses Pakets, um den breiten DataFrame länger zu transponieren:

Bibliothek (aufräumen)

n = 10

tidy_df = data.frame (

ID = c(1:n),
Prüfung1_Noten = c(73, 219, 86, 192, 99,
188, 72, 35, 91, 165),
Prüfung2_Marken = c(217, 89, 66, 334, 99,
101, 108, 233, 45, 300),
Prüfung3_Noten = c(39, 101, 209, 289, 176,
120, 89, 119, 199, 96))

ordentlich_df

Hier wird ein „breiter“ DataFrame mit tidyr in einen „langen“ DataFrame umgewandelt. Zuerst erstellen wir einen „tidy_df“ DataFrame mit drei Spalten. Jede dieser Spalten hat 10 Werte.

Der lange DataFrame wird im folgenden Ausgabebildschirm angezeigt:

Dann übergeben wir den DataFrame „tidy_df“ mit dem Pipe-Operator „%>%“ an die collect()-Funktion. Die Funktion collect() von tidyr wird verwendet, um „tidy_df“ in einen langen DataFrame umzuwandeln. Die Funktion „gather()“ nimmt Eingaben mit dem Namen „Exams“ entgegen, was auf eine neue Spalte hinweist, in der die Variablennamen enthalten sind, die in der Transformation erstellt werden. „Marks“ gibt die Spalte an, die die „Exam1_Marks“ und „Exam2_Marks“ zusammenfasst.

lang <- tidy_df %>%

sammeln (Prüfungen, Noten,
Prüfung1_Marken:Prüfung2_Marken)


lang

Die Ausgabe zeigt den langen DataFrame an der Konsole an, die jetzt ein „langes“ Format mit drei Spalten hat:

Beispiel 4: Transponieren Sie den DataFrame mit der Funktion Pivot_Wider() in R

Die nächste erweiterte Funktion, die wir zum Transponieren des DataFrame verwenden, ist die Funktion pivot_wider(). pivot_wider() ist eine Funktion aus dem tidyr-Paket in R, mit der wir einen „langen“ DataFrame in einen „breiten“ DataFrame umwandeln können. Die Funktion nimmt drei Hauptargumente, die im folgenden Code von R besprochen werden:

Bibliothek (aufräumen)

df <- data.frame (

id = c(1, 2, 3, 1, 2, 3),
var = c('v1', 'v1', 'v1', 'v2', 'v2', 'v2'),
Wert = c(4, 5, 6, 7, 8, 9)


)

df

Hier laden wir zunächst das tidyr-Paket mit der Funktion library(). Dann legen wir den Beispiel-DataFrame in „df“ fest. Der DataFrame „df“ hat drei Spalten, die entsprechend unterschiedliche Werte enthalten. Der Beispiel-DataFrame ist in der folgenden Ausgabe zu sehen:

Danach wird die Funktion pivot_wider() von tidyr verwendet, um „df“ in „df_wide“ umzuwandeln.

df_wide <- pivot_wider(df, names_from = var, values_from = val)

df_wide

Die Funktion pivot_wider() benötigt hier drei Argumente. Zuerst muss der DataFrame „df“ transformiert werden. Dann legt das Argument names_from den Spaltennamen fest, der für die neuen Variablennamen verwendet werden soll. Schließlich gibt das Argument values_from den Spaltennamen an, der für die neuen Werte verwendet werden soll.

Die folgende Ausgabe stellt die Transposition des langen DataFrame in den breiten DataFrame dar:

Abschluss

Wir haben verschiedene Möglichkeiten verwendet, um den DataFrame in R zu transponieren. Das erste Beispiel wird mit der integrierten Methode t() gesetzt. Bei allen anderen Beispielen mussten die Pakete importiert werden, damit wir ihre Funktionen für die DataFrame-Transposition verwenden konnten. Die beste Methode hängt jedoch von der spezifischen Situation und der Datenstruktur ab, mit der Sie arbeiten.