Suche…


Bemerkungen

Was ist Recycling in R?

Beim Recycling handelt es sich um ein Objekt, das bei bestimmten Vorgängen automatisch um die Länge eines anderen, längeren Objekts erweitert wird.

Zum Beispiel führt die vektorisierte Addition zu folgendem:

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

Aufgrund des Recyclings war der Vorgang, der tatsächlich erfolgte, folgende:

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

Wenn das längere Objekt kein Vielfaches des kürzeren Objekts ist, wird eine Warnmeldung angezeigt:

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

Ein anderes Beispiel für das Recycling:

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

Recycling-Verwendung beim Subsetting

Recycling kann auf clevere Weise verwendet werden, um Code zu vereinfachen.

Subsetting

Wenn Sie jedes dritte Element eines Vektors beibehalten möchten, können Sie Folgendes tun:

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

[1] 1 3 5 7 9

Hier wurde der logische Ausdruck auf die Länge des Vektors erweitert.

Wir können auch Vergleiche mit Recycling durchführen:

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

[1] FALSE  TRUE FALSE FALSE

Hier wird "Bar" recycelt.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow