R Language
Reciclaje
Buscar..
Observaciones
Qué es el reciclaje en R
El reciclaje es cuando un objeto se extiende automáticamente en ciertas operaciones para que coincida con la longitud de otro objeto más largo.
Por ejemplo, la suma vectorizada resulta en lo siguiente:
c(1,2,3) + c(1,2,3,4,5,6)
[1] 2 4 6 5 7 9
Debido al reciclaje, la operación que realmente sucedió fue:
c(1,2,3,1,2,3) + c(1,2,3,4,5,6)
En los casos en que el objeto más largo no es un múltiplo del más corto, se presenta un mensaje de advertencia:
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
Otro ejemplo de reciclaje:
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 de reciclaje en subconjuntos.
El reciclaje se puede utilizar de una manera inteligente para simplificar el código.
Subconjunto
Si queremos mantener cada tercer elemento de un vector podemos hacer lo siguiente:
my_vec <- c(1,2,3,4,5,6,7,8,9,10)
my_vec[c(TRUE, FALSE)]
[1] 1 3 5 7 9
Aquí la expresión lógica se expandió a la longitud del vector.
También podemos realizar comparaciones utilizando reciclaje:
my_vec <- c("foo", "bar", "soap", "mix")
my_vec == "bar"
[1] FALSE TRUE FALSE FALSE
Aquí el "bar" se recicla.