Szukaj…


Uwagi

Co to jest recykling w R.

Recykling ma miejsce, gdy obiekt jest automatycznie przedłużany w niektórych operacjach, aby dopasować długość innego, dłuższego obiektu.

Na przykład dodanie wektoryzacji powoduje:

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

Ze względu na recykling operacja, która faktycznie miała miejsce, to:

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

W przypadkach, gdy dłuższy obiekt nie jest wielokrotnością krótszego, wyświetlany jest komunikat ostrzegawczy:

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

Kolejny przykład recyklingu:

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

Zastosowanie recyklingu w podzestawie

Recykling można wykorzystać w sprytny sposób, aby uprościć kod.

Podzbiór

Jeśli chcemy zachować co trzeci element wektora, możemy wykonać następujące czynności:

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

[1] 1 3 5 7 9

Tutaj wyrażenie logiczne zostało rozszerzone do długości wektora.

Możemy również przeprowadzać porównania przy użyciu recyklingu:

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

[1] FALSE  TRUE FALSE FALSE

Tutaj „pasek” zostaje poddany recyklingowi.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow