R-Datenrahmen: Erstellen, Anhängen, Auswählen und Teilmengen
Was ist ein Datenrahmen?
A 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.
So erstellen Sie einen Datenrahmen
Wir können einen Datenrahmen erstellen R durch Übergabe der Variablen a,b,c,d an die Funktion data.frame(). 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 zusammengeführt werden sollen
- stringsAsFactors: String standardmäßig in Faktor konvertieren
Wir können in R einen Datenrahmen für unseren ersten Datensatz erstellen, indem wir vier Variablen gleicher Länge kombinieren.
# Create a, b, c, d variables
a <- 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 frame
df <- data.frame(a,b,c,d)
df
Ausgang:
## a b c d ## 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
Wir können sehen, dass die Spaltenüberschriften denselben Namen haben wie die Variablen. Mit der Funktion name() können wir den Spaltennamen in R ändern. Schauen Sie sich das folgende R-Beispiel zum Erstellen eines Datenrahmens an:
# Name the data frame
names(df) <- c('ID', 'items', 'store', 'price')
df
Ausgang:
## 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 structure str(df)
Ausgang:
## '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 Klammern zurückgegeben werden sollen, gefolgt vom Namen des Datenrahmens.
Ein Datenrahmen besteht aus Zeilen und Spalten, df[A, B]. A repräsentiert die Zeilen und B die Spalten. Wir können beides aufteilen, indem wir die Zeilen und/oder Spalten angeben.
Von Bild 1 stellt der linke Teil das dar Reihen, und der rechte Teil ist der Spalten. Beachten Sie, dass das Symbol : bedeutet zu. Beispielsweise beabsichtigt 1:3, Werte von 1 auszuwählen zu 3.
Im folgenden Diagramm zeigen wir, wie Sie auf verschiedene Auswahlmöglichkeiten des Datenrahmens zugreifen können:
- Der gelbe Pfeil wählt die aus Reihe 1 in Überblick 2
- Der grüne Pfeil wählt die aus Reihen 1 bis 2
- Der rote Pfeil wählt die aus Überblick 1
- Der blaue Pfeil wählt die aus Reihen 1 bis 3 und Spalten 3 bis 4
Beachten Sie, dass R auswählt, wenn wir den linken Teil leer lassen alle Reihen. Wenn wir analog den rechten Teil leer lassen, wählt R aus alle Spalten.
Wir können den Code in der Konsole ausführen:
## Select row 1 in column 2 df[1,2]
Ausgang:
## [1] book ## Levels: book pen pencil_case textbook
## Select Rows 1 to 2 df[1:2,]
Ausgang:
## ID items store price ## 1 10 book TRUE 2.5 ## 2 20 pen FALSE 8.0
## Select Columns 1 df[,1]
Ausgang:
## [1] 10 20 30 40
## Select Rows 1 to 3 and columns 3 to 4 df[1:3, 3:4]
Ausgang:
## 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 Store.
# Slice with columns name
df[, c('ID', 'store')]
Ausgang:
## 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 eine Datenrahmen-R-Variable anzuhängen und eine Spalte zu einem Datenrahmen in R hinzuzufügen.
# Create a new vector quantity <- c(10, 35, 40, 5) # Add `quantity` to the `df` data frame df$quantity <- quantity df
Ausgang:
## 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. Führen Sie die folgende Anweisung aus, um dem Datenrahmen R eine Spalte hinzuzufügen
quantity <- c(10, 35, 40) # Add `quantity` to the `df` data frame df$quantity <- quantity
Gibt einen Fehler aus:
Error in ` lt;-.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 Operation an einer Spalte durchführen. Wir können das $-Zeichen verwenden, um die Spalte aus einem Datenrahmen auszuwählen.
# Select the column ID df$ID
Ausgang:
## [1] 1 2 3 4
Teilmenge eines Datenrahmens
Im vorherigen Abschnitt haben wir eine ganze Spalte ohne Bedingung ausgewählt. Es ist möglich zu Teilmenge basierend darauf, ob eine bestimmte Bedingung wahr war 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 zurückgeben, deren Preis über 10 liegt. Wir können Folgendes tun:
# Select price above 5 subset(df, subset = price > 5)
Ausgang:
ID items store price 2 20 pen FALSE 8 3 30 textbook TRUE 10 4 40 pencil_case FALSE 7


