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.

Slice-Datenrahmen

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.

Slice-Datenrahmen

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

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: