Wat betekent% & gt;% gemiddeld in r

Ik volg dit voorbeeld, de server.r , Bestand is hier .

Ik ben van plan een vergelijkbaar filter te doen, maar ben verloren over wat %>%doet.

# Apply filters
    m <- all_movies %>%
      filter(
        Reviews >= reviews,
        Oscars >= oscars,
        Year >= minyear,
        Year <= maxyear,
        BoxOffice >= minboxoffice,
        BoxOffice <= maxboxoffice
      ) %>%
      arrange(Oscars)

Antwoord 1, Autoriteit 100%

De Infix-operator %>%maakt geen deel uit van basis R, maar is in feite gedefinieerd door het pakket magrittr(cran ) en wordt zwaar gebruikt door dplyr(cran ).

Het werkt als een pijp, vandaar de verwijzing naar de beroemde schilderij van Magritte het verraad van afbeeldingen .

Wat de functie doet, is de linkerkant van de exploitant doorgeven aan het eerste argument van de rechterkant van de operator. In het volgende voorbeeld wordt het gegevensframe irisdoorgegeven aan 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

Dus iris %>% head()is gelijk aan head(iris).

Vaak wordt %>%meerdere keren aangeroepen om functies aan elkaar te “ketenen”, wat hetzelfde resultaat oplevert als nesten. In de onderstaande keten wordt bijvoorbeeld irisdoorgegeven aan head(), waarna het resultaat daarvan wordt doorgegeven aan summary().

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

Dus iris %>% head() %>% summary()is gelijk aan summary(head(iris)). Sommige mensen geven de voorkeur aan ketenen boven nesten, omdat de toegepaste functies van links naar rechts kunnen worden gelezen in plaats van van binnen naar buiten.

Other episodes