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.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow