Come utilizzare le funzioni with() e inside() in r
Le funzioni with() e inside() in R possono essere utilizzate per valutare un’espressione basata su un frame di dati.
Queste funzioni utilizzano la seguente sintassi:
with(data, expression)
within(data, expression)
Oro:
- dati: il nome del blocco dati
- espressione: l’espressione da valutare
Ecco la differenza tra le due funzioni:
- with() valuta l’espressione senza modificare il frame di dati originale.
- inside() valuta l’espressione e crea una copia del frame di dati originale.
I seguenti esempi mostrano come utilizzare in pratica ciascuna funzione con il seguente frame di dati:
#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
Esempio 1: utilizzo della funzione with()
Possiamo usare la seguente funzione with() per moltiplicare i valori tra le due colonne del data frame:
#multiply values between x and y
with(df, x*y)
[1] 6 10 0 35 54 40
I valori nella colonna x e nella colonna y nel frame di dati vengono moltiplicati insieme e il risultato è un vettore di lunghezza 6.
Esempio 2: utilizzo della funzione inside()
Possiamo utilizzare la seguente funzione inside() per moltiplicare i valori tra le due colonne nel frame di dati e assegnare i risultati a una nuova colonna nel frame di dati:
#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
I risultati della moltiplicazione sono ora archiviati in una nuova colonna denominata z .
È importante notare che la funzione inside() crea una copia del frame di dati originale ma in realtà non modifica il frame di dati originale:
#view original data frame
df
xy
1 3 2
2 5 2
3 5 0
4 7 5
5 6 9
6 10 4
Per memorizzare in modo permanente i risultati della moltiplicazione, è necessario assegnare i risultati a un nuovo frame di dati:
#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
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in R:
Come aggiungere una colonna a un frame di dati in R
Come aggiungere una colonna vuota a un frame di dati in R
Come ordinare un frame di dati per colonna in R