Come utilizzare la funzione di scansione in r (con esempi)
È possibile utilizzare la funzione swep() in R per eseguire determinate operazioni sulle righe o sulle colonne di una matrice.
Questa funzione utilizza la seguente sintassi di base:
sweep(x, MARGIN, STATS, FUN)
Oro:
- x : nome della matrice
- MARGINE : Il margine su cui eseguire la funzione (1=righe, 2=colonne)
- STATS : i valori da utilizzare nella funzione
- FUN : La funzione da eseguire
Gli esempi seguenti mostrano come utilizzare la funzione swep() in diversi scenari in R.
Esempio 1: utilizzare swep() per eseguire un’operazione sulle righe
Il codice seguente mostra come utilizzare la funzione swep() per aggiungere un numero specifico ai valori in ciascuna riga della matrice:
#define matrix
mat <- matrix(1:15, nrow= 5 )
#view matrix
mast
[,1] [,2] [,3]
[1,] 1 6 11
[2,] 2 7 12
[3,] 3 8 13
[4,] 4 9 14
[5,] 5 10 15
#add specific numbers to each row
sweep(mat, 1 , c(5, 10, 15, 20, 25), " + ")
[,1] [,2] [,3]
[1,] 6 11 16
[2,] 12 17 22
[3,] 18 23 28
[4,] 24 29 34
[5,] 30 35 40
Ecco come ha funzionato la funzione swep() in questo scenario:
- 5 è stato aggiunto a ciascun valore nella prima riga.
- 10 è stato aggiunto a ciascun valore nella seconda riga.
- 15 è stato aggiunto a ciascun valore nella terza riga.
- 20 è stato aggiunto a ciascun valore nella quarta riga.
- 25 è stato aggiunto a ciascun valore nella quinta riga.
Tieni presente che in questo esempio abbiamo utilizzato l’addizione (+) come operazione matematica da eseguire, ma potremmo scegliere di utilizzare un’operazione diversa.
Ad esempio, il codice seguente mostra come moltiplicare i valori in ciascuna riga per determinati numeri:
#define matrix
mat <- matrix(1:15, nrow= 5 )
#view matrix
mast
[,1] [,2] [,3]
[1,] 1 6 11
[2,] 2 7 12
[3,] 3 8 13
[4,] 4 9 14
[5,] 5 10 15
#multiply values in each row by certain amount
sweep(mat, 1 , c(.5, 1, 2, 4, 6), " * ")
[,1] [,2] [,3]
[1,] 0.5 3 5.5
[2,] 2.0 7 12.0
[3,] 6.0 16 26.0
[4,] 16.0 36 56.0
[5,] 30.0 60 90.0
Esempio 2: utilizzare scanning() per eseguire un’operazione sulle colonne
Il codice seguente mostra come utilizzare la funzione swep() per aggiungere un numero specifico ai valori in ciascuna colonna della matrice:
#define matrix
mat <- matrix(1:15, nrow= 5 )
#view matrix
mast
[,1] [,2] [,3]
[1,] 1 6 11
[2,] 2 7 12
[3,] 3 8 13
[4,] 4 9 14
[5,] 5 10 15
#add specific numbers to each column
sweep(mat, 2 , c(5, 10, 15), " + ")
[,1] [,2] [,3]
[1,] 6 16 26
[2,] 7 17 27
[3,] 8 18 28
[4,] 9 19 29
[5,] 10 20 30
Ecco come ha funzionato la funzione swep() in questo scenario:
- 5 è stato aggiunto a ciascun valore nella prima colonna.
- 10 è stato aggiunto a ciascun valore nella seconda colonna.
- 15 è stato aggiunto a ciascun valore nella terza colonna.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre operazioni comuni in R:
Come creare una matrice vuota in R
Come convertire un dataframe in una matrice in R
Come tracciare le righe di una matrice in R