Looking for r Keywords? Try Ask4Keywords

R LanguageRohroperatoren (%>% und andere)


Einführung

Pipe-Operatoren, die in magrittr , dplyr und anderen R-Paketen verfügbar sind, verarbeiten ein Datenobjekt unter Verwendung einer Folge von Operationen, indem das Ergebnis eines Schritts als Eingabe für den nächsten Schritt unter Verwendung von Infix-Operatoren anstelle der üblicheren R-Methode von verschachtelten übergeben wird Funktionsaufrufe.

Beachten Sie, dass das Ziel der Pipe-Operatoren darin besteht, die Lesbarkeit von geschriebenem Code für den Menschen zu verbessern. Weitere Informationen zur Leistung finden Sie im Abschnitt Anmerkungen.

Syntax

  • lhs%>% rhs # Pipe-Syntax für rhs(lhs)

  • lhs%>% rhs (a = 1) # Pipe-Syntax für rhs(lhs, a = 1)

  • lhs%>% rhs (a = 1, b =.) # rhs(a = 1, b = lhs) für rhs(a = 1, b = lhs)

  • lhs% <>% rhs # Pipe-Syntax für lhs <- rhs(lhs)

  • lhs% $% rhs (a) # Pipe-Syntax für with(lhs, rhs(lhs$a))

  • lhs% T>% rhs # Pipe-Syntax für { rhs(lhs); lhs }

Parameter

lhs rhs
Ein Wert oder der Magrittr-Platzhalter. Ein Funktionsaufruf unter Verwendung der Magrittr-Semantik

Bemerkungen

Pakete, die %>%

Der Pipe-Operator ist im magrittr Paket definiert, er gewann jedoch mit dem dplyr Paket (das die Definition aus magrittr ) große Sichtbarkeit und Beliebtheit. Jetzt ist es Teil von tidyverse , einer Sammlung von Paketen, die "harmonisch zusammenarbeiten, weil sie gemeinsame Datenrepräsentationen und API-Design verwenden" .

Das magrittr Paket bietet auch mehrere Variationen des Pipe-Operators für diejenigen, die mehr Flexibilität beim Paspeln wünschen, wie z. B. die zusammengesetzte Zuweisungspipe %<>% , die Expositionspipe %$% und den T-Operator %T>% . Es bietet auch eine Reihe von Alias-Funktionen, um gängige Funktionen mit einer speziellen Syntax ( + , [ , [[ usw.]) zu ersetzen, sodass sie problemlos innerhalb einer Pipeline-Kette verwendet werden können.

Dokumentation finden

Wie bei jedem Infix-Operator (wie + , * , ^ , & , %in% ) finden Sie die offizielle Dokumentation, wenn Sie sie in Anführungszeichen setzen:? ?'%>%' Oder help('%>%') ( Angenommen, Sie haben ein Paket geladen, das pkg:magrittr ) pkg:magrittr .

Hotkeys

In RStudio gibt es einen speziellen Hotkey für den Pipe-Operator: Ctrl+Shift+M ( Windows und Linux ), Cmd+Shift+M ( Mac ).

Überlegungen zur Leistung

Beachten Sie, dass der Pipe-Operator nützlich ist. Beachten Sie jedoch, dass die Leistung hauptsächlich durch den Overhead der Verwendung beeinträchtigt wird. Berücksichtigen Sie bei der Verwendung des Pipe-Operators die folgenden beiden Punkte sorgfältig:

  • Maschinenleistung (Schleifen)
  • Auswertung ( object %>% rm() entfernt object )

Rohroperatoren (%>% und andere) Verwandte Beispiele