Was ist ein Datenrahmen?
Ein Datenrahmen ist eine Liste von Vektoren gleicher Länge. Eine Matrix enthält nur einen Datentyp, während ein Datenrahmen verschiedene Datentypen (numerisch, Zeichen, Faktor usw.) akzeptiert.
In diesem Tutorial lernen Sie:
- Was ist ein Datenrahmen?
- So erstellen Sie einen Datenrahmen
- Hängen Sie eine Spalte an den Datenrahmen an
- Wählen Sie eine Spalte eines Datenrahmens aus
- Teilmenge eines Datenrahmens
So erstellen Sie einen Datenrahmen
Wir können einen Datenrahmen in R erstellen, indem wir die Variablen a, b, c, d an die Funktion data.frame () übergeben. Wir können einen Datenrahmen erstellen und die Spalten mit name () benennen und einfach den Namen der Variablen angeben.
data.frame(df, stringsAsFactors = TRUE)
Argumente :
- df : Es kann sich um eine Matrix handeln, die als Datenrahmen konvertiert werden soll, oder um eine Sammlung von Variablen, die verbunden werden sollen
- stringAsFactors : Konvertiert den String standardmäßig in einen Faktor
Wir können einen Datenrahmen in R für unseren ersten Datensatz erstellen, indem wir vier Variablen gleicher Länge kombinieren.
# Create a, b, c, d variablesa <- c(10,20,30,40)b <- c('book', 'pen', 'textbook', 'pencil_case')c <- c(TRUE,FALSE,TRUE,FALSE)d <- c(2.5, 8, 10, 7)# Join the variables to create a data framedf <- data.frame(a,b,c,d)df
Ausgabe:
## a b c d## 1 1 book TRUE 2.5## 2 2 pen TRUE 8.0## 3 3 textbook TRUE 10.0## 4 4 pencil_case FALSE 7.0
Wir können sehen, dass die Spaltenüberschriften denselben Namen wie die Variablen haben. Wir können den Spaltennamen in R mit den Funktionsnamen () ändern. Überprüfen Sie das folgende Beispiel für einen R-Datenrahmen:
# Name the data framenames(df) <- c('ID', 'items', 'store', 'price')df
Ausgabe:
## ID items store price## 1 10 book TRUE 2.5## 2 20 pen FALSE 8.0## 3 30 textbook TRUE 10.0## 4 40 pencil_case FALSE 7.0
# Print the structurestr(df)
Ausgabe:
## 'data.frame': 4 obs. of 4 variables:## $ ID : num 10 20 30 40## $ items: Factor w/ 4 levels "book","pen","pencil_case",… : 1 2 4 3## $ store: logi TRUE FALSE TRUE FALSE## $ price: num 2.5 8 10 7
Standardmäßig gibt der Datenrahmen Zeichenfolgenvariablen als Faktor zurück.
Slice-Datenrahmen
Es ist möglich, Werte eines Datenrahmens zu SLICE. Wir wählen die Zeilen und Spalten aus, die in die Klammer vor dem Namen des Datenrahmens zurückkehren sollen.
Ein Datenrahmen besteht aus Zeilen und Spalten df [A, B]. A repräsentiert die Zeilen und B die Spalten. Wir können entweder durch Angabe der Zeilen und / oder Spalten schneiden.
In Bild 1 repräsentiert der linke Teil die Zeilen und der rechte Teil die Spalten . Beachten Sie, dass das Symbol: ein Mittel , um . Zum Beispiel beabsichtigt 1: 3, Werte von 1 bis 3 auszuwählen .
Im folgenden Diagramm zeigen wir, wie auf verschiedene Auswahlen des Datenrahmens zugegriffen werden kann:
- Der gelbe Pfeil wählt die Zeile 1 in Spalte 2 aus
- Der grüne Pfeil wählt die Zeilen 1 bis 2 aus
- Der rote Pfeil wählt die Spalte 1 aus
- Der blaue Pfeil wählt die Zeilen 1 bis 3 und die Spalten 3 bis 4 aus
Beachten Sie, dass R alle Zeilen auswählt, wenn wir den linken Teil leer lassen . Wenn wir den rechten Teil leer lassen, wählt R analog alle Spalten aus .
Wir können den Code in der Konsole ausführen:
## Select row 1 in column 2df[1,2]
Ausgabe:
## [1] book## Levels: book pen pencil_case textbook
## Select Rows 1 to 2df[1:2,]
Ausgabe:
## ID items store price## 1 10 book TRUE 2.5## 2 20 pen FALSE 8.0
## Select Columns 1df[,1]
Ausgabe:
## [1] 10 20 30 40
## Select Rows 1 to 3 and columns 3 to 4df[1:3, 3:4]
Ausgabe:
## store price## 1 TRUE 2.5## 2 FALSE 8.0## 3 TRUE 10.0
Es ist auch möglich, die Spalten mit ihren Namen auszuwählen. Der folgende Code extrahiert beispielsweise zwei Spalten: ID und Speicher.
# Slice with columns namedf[, c('ID', 'store')]
Ausgabe:
## ID store## 1 10 TRUE## 2 20 FALSE## 3 30 TRUE## 4 40 FALSE
Hängen Sie eine Spalte an den Datenrahmen an
Sie können auch eine Spalte an einen Datenrahmen anhängen. Sie müssen das Symbol $ verwenden, um die Variable Datenrahmen R anzuhängen und einem Datenrahmen in R eine Spalte hinzuzufügen.
# Create a new vectorquantity <- c(10, 35, 40, 5)# Add `quantity` to the `df` data framedf$quantity <- quantitydf
Ausgabe:
## ID items store price quantity## 1 10 book TRUE 2.5 10## 2 20 pen FALSE 8.0 35## 3 30 textbook TRUE 10.0 40## 4 40 pencil_case FALSE 7.0 5
Hinweis: Die Anzahl der Elemente im Vektor muss der Anzahl der Elemente im Datenrahmen entsprechen. Ausführen der folgenden Anweisung zum Hinzufügen einer Spalte zum Datenrahmen R.
quantity <- c(10, 35, 40)# Add `quantity` to the `df` data framedf$quantity <- quantity
Gibt Fehler:
Error in `$<-.data.frame`(`*tmp*`, quantity, value = c(10, 35, 40))replacement has 3 rows, data has 4
Wählen Sie eine Spalte eines Datenrahmens aus
Manchmal müssen wir eine Spalte eines Datenrahmens für die zukünftige Verwendung speichern oder eine Spalte bearbeiten. Wir können das $ -Zeichen verwenden, um die Spalte aus einem Datenrahmen auszuwählen.
# Select the column IDdf$ID
Ausgabe:
## [1] 1 2 3 4
Teilmenge eines Datenrahmens
Im vorherigen Abschnitt haben wir eine ganze Spalte ohne Bedingung ausgewählt. Es ist möglich, eine Teilmenge basierend darauf zu erstellen , ob eine bestimmte Bedingung erfüllt ist oder nicht.
Wir verwenden die Funktion subset ().
subset(x, condition)arguments:- x: data frame used to perform the subset- condition: define the conditional statement
Wir möchten nur Artikel mit einem Preis über 10 zurückgeben. Wir können Folgendes tun:
# Select price above 5subset(df, subset = price > 5)
Ausgabe:
ID items store price2 20 pen FALSE 83 30 textbook TRUE 104 40 pencil_case FALSE 7