Recherche…


Remarques

Qu'est-ce que le recyclage en R

Le recyclage se produit lorsqu'un objet est automatiquement étendu dans certaines opérations pour correspondre à la longueur d'un autre objet plus long.

Par exemple, l'ajout vectorisé donne les résultats suivants:

c(1,2,3) + c(1,2,3,4,5,6)  
[1] 2 4 6 5 7 9

En raison du recyclage, l'opération qui s'est réellement produite était la suivante:

c(1,2,3,1,2,3) + c(1,2,3,4,5,6)

Dans les cas où l'objet le plus long n'est pas un multiple du plus court, un message d'avertissement s'affiche:

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

Autre exemple de recyclage:

matrix(nrow =5, ncol = 2, 1:5 )
     [,1] [,2]
[1,]    1    1
[2,]    2    2
[3,]    3    3
[4,]    4    4
[5,]    5    5

Utilisation du recyclage dans la sous-consommation

Le recyclage peut être utilisé de manière intelligente pour simplifier le code.

Sous-location

Si nous voulons conserver chaque troisième élément d'un vecteur, nous pouvons faire ce qui suit:

my_vec <-   c(1,2,3,4,5,6,7,8,9,10)
my_vec[c(TRUE, FALSE)]

[1] 1 3 5 7 9

Ici, l'expression logique a été étendue à la longueur du vecteur.

Nous pouvons également effectuer des comparaisons en utilisant le recyclage:

my_vec <-   c("foo", "bar", "soap", "mix")
my_vec == "bar"

[1] FALSE  TRUE FALSE FALSE

Ici, "bar" est recyclé.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow