Co oznacza % > % w R [duplikat]

to pytanie ma już odpowiedzi tutaj : co oznacza funkcja %>% w R? (4 odpowiedzi) Zamknięte 1 rok temu .

Podążam za tym przykładem, serwerem .R, plik jest tutaj .

Planuję zrobić podobny filtr, ale nie wiem, co robi %>%.

 # Apply filters
    m <- all_movies %>%
      filter(
        Reviews >= reviews,
        Oscars >= oscars,
        Year >= minyear,
        Year <= maxyear,
        BoxOffice >= minboxoffice,
        BoxOffice <= maxboxoffice
      ) %>%
      arrange(Oscars)
 149
Author: zx8754, 2014-07-02

1 answers

Operator infiksu %>% nie jest częścią bazy R, ale jest w rzeczywistości zdefiniowany przez pakiet magrittr (CRAN ) i jest silnie wykorzystywany przez dplyr (CRAN ).

[15]}działa jak fajka, stąd nawiązanie do słynnego obrazu Magritte ' a[22]}Zdrada obrazów [17]}.

Funkcja przekazuje lewą stronę operatora do pierwszego argumentu prawej strony operatora. W poniższym przykładzie ramka danych iris zostanie przekazana do head():

library(magrittr)
iris %>% head()
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa

Zatem {[7] } jest równoważne head(iris).

Często {[2] } jest wywoływane wielokrotnie, aby" łączyć " funkcje razem, co osiąga ten sam wynik co zagnieżdżanie. Na przykład w poniższym łańcuchu, iris jest przekazywana do head(), a wynik tego jest przekazywany do summary().

iris %>% head() %>% summary()

Zatem {[13] } jest równoważne summary(head(iris)). Niektórzy wolą łańcuchowanie niż zagnieżdżanie, ponieważ zastosowane funkcje mogą być odczytywane od lewej do prawej, a nie od wewnątrz.

 291
Author: Andrie,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-11-05 10:36:32