Hoe de functies with() en inside() in r te gebruiken


De functies with() en inside() in R kunnen worden gebruikt om een expressie te evalueren op basis van een dataframe.

Deze functies gebruiken de volgende syntaxis:

 with(data, expression)
within(data, expression)

Goud:

  • data: de naam van het datablok
  • expressie: de expressie die moet worden geëvalueerd

Hier is het verschil tussen de twee functies:

  • with() evalueert de expressie zonder het originele dataframe te wijzigen.
  • inside() evalueert de expressie en maakt een kopie van het originele dataframe.

De volgende voorbeelden laten zien hoe u elke functie in de praktijk kunt gebruiken met het volgende dataframe:

 #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

Voorbeeld 1: gebruik van de functie with().

We kunnen de volgende functie with() gebruiken om de waarden tussen de twee kolommen van het dataframe te vermenigvuldigen:

 #multiply values between x and y
with(df, x*y)

[1] 6 10 0 35 54 40

De waarden in kolom x en kolom y in het dataframe worden met elkaar vermenigvuldigd en het resultaat is een vector met lengte 6.

Voorbeeld 2: gebruik van de inside() functie

We kunnen de volgende inside()- functie gebruiken om de waarden tussen de twee kolommen in het dataframe te vermenigvuldigen en de resultaten toe te wijzen aan een nieuwe kolom in het dataframe:

 #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

De vermenigvuldigingsresultaten worden nu opgeslagen in een nieuwe kolom met de naam z .

Het is belangrijk op te merken dat de functie inside() een kopie van het originele dataframe maakt, maar het originele dataframe niet daadwerkelijk wijzigt:

 #view original data frame
df

   xy
1 3 2
2 5 2
3 5 0
4 7 5
5 6 9
6 10 4

Om de vermenigvuldigingsresultaten permanent op te slaan, moet u de resultaten aan een nieuw dataframe toewijzen:

 #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

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:

Hoe u een kolom aan een dataframe toevoegt in R
Hoe u een lege kolom aan een dataframe toevoegt in R
Hoe een dataframe op kolom te sorteren in R

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert