R Language
Raccolta differenziata
Ricerca…
Osservazioni
Che cos'è il riciclaggio in R
Il riciclo è quando un oggetto viene automaticamente esteso in determinate operazioni per adattarsi alla lunghezza di un altro oggetto più lungo.
Ad esempio, l'aggiunta vettorizzata produce quanto segue:
c(1,2,3) + c(1,2,3,4,5,6)
[1] 2 4 6 5 7 9
A causa del riciclaggio, l'operazione effettivamente avvenuta è stata:
c(1,2,3,1,2,3) + c(1,2,3,4,5,6)
Nei casi in cui l'oggetto più lungo non è un multiplo di quello più corto, viene presentato un messaggio di avviso:
c(1,2,3) + c(1,2,3,4,5,6,7)
[1] 2 4 6 5 7 9 8
Warning message:
In c(1, 2, 3) + c(1, 2, 3, 4, 5, 6, 7) :
longer object length is not a multiple of shorter object length
Un altro esempio di riciclaggio:
matrix(nrow =5, ncol = 2, 1:5 )
[,1] [,2]
[1,] 1 1
[2,] 2 2
[3,] 3 3
[4,] 4 4
[5,] 5 5
Uso del riciclaggio in subsetting
Il riciclaggio può essere utilizzato in modo intelligente per semplificare il codice.
subsetting
Se vogliamo mantenere ogni terzo elemento di un vettore, possiamo fare quanto segue:
my_vec <- c(1,2,3,4,5,6,7,8,9,10)
my_vec[c(TRUE, FALSE)]
[1] 1 3 5 7 9
Qui l'espressione logica è stata estesa alla lunghezza del vettore.
Possiamo anche fare confronti con il riciclaggio:
my_vec <- c("foo", "bar", "soap", "mix")
my_vec == "bar"
[1] FALSE TRUE FALSE FALSE
Qui la "barra" viene riciclata.