So verwenden sie die funktionen with() und inside() in r
Die Funktionen with() und inside() in R können verwendet werden, um einen Ausdruck basierend auf einem Datenrahmen auszuwerten.
Diese Funktionen verwenden die folgende Syntax:
with(data, expression)
within(data, expression)
Gold:
- Daten: Der Name des Datenblocks
- Ausdruck: Der auszuwertende Ausdruck
Hier ist der Unterschied zwischen den beiden Funktionen:
- with() wertet den Ausdruck aus, ohne den ursprünglichen Datenrahmen zu ändern.
- inside() wertet den Ausdruck aus und erstellt eine Kopie des ursprünglichen Datenrahmens.
Die folgenden Beispiele zeigen, wie jede Funktion in der Praxis mit dem folgenden Datenrahmen verwendet wird:
#create data frame
df <- data. frame (x=c(3, 5, 5, 7, 6, 10),
y=c(2, 2, 0, 5, 9, 4))
#view data frame
df
xy
1 3 2
2 5 2
3 5 0
4 7 5
5 6 9
6 10 4
Beispiel 1: Verwendung der Funktion with()
Wir können die folgende with()- Funktion verwenden, um die Werte zwischen den beiden Spalten des Datenrahmens zu multiplizieren:
#multiply values between x and y
with(df, x*y)
[1] 6 10 0 35 54 40
Die Werte in Spalte x und Spalte y im Datenrahmen werden miteinander multipliziert und das Ergebnis ist ein Vektor der Länge 6.
Beispiel 2: Verwendung der Funktion inside()
Mit der folgenden Funktion inside() können wir die Werte zwischen den beiden Spalten im Datenrahmen multiplizieren und die Ergebnisse einer neuen Spalte im Datenrahmen zuweisen:
#multiply values in x and y and assign results to new column z
within(df, z <- x*y)
X Y Z
1 3 2 6
2 5 2 10
3 5 0 0
4 7 5 35
5 6 9 54
6 10 4 40
Die Multiplikationsergebnisse werden nun in einer neuen Spalte mit dem Namen z gespeichert.
Es ist wichtig zu beachten, dass die Funktion inside() eine Kopie des ursprünglichen Datenrahmens erstellt, den ursprünglichen Datenrahmen jedoch nicht tatsächlich ändert:
#view original data frame
df
xy
1 3 2
2 5 2
3 5 0
4 7 5
5 6 9
6 10 4
Um die Multiplikationsergebnisse dauerhaft zu speichern, müssen Sie die Ergebnisse einem neuen Datenrahmen zuweisen:
#multiply values in x and y and assign results to new data frame
df_new <- within(df, z <- x*y)
#view new data frame
df_new
X Y Z
1 3 2 6
2 5 2 10
3 5 0 0
4 7 5 35
5 6 9 54
6 10 4 40
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in R ausführen:
So fügen Sie eine Spalte zu einem Datenrahmen in R hinzu
So fügen Sie einem Datenrahmen in R eine leere Spalte hinzu
So sortieren Sie einen Datenrahmen nach Spalte in R