¿Qué significa%>% en R?

Estoy siguiendo este ejemplo, el servidor.R , el archivo está aquí .

Planeo hacer un filtro similar, pero estoy perdido en cuanto a qué %>% hace.

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

El operador infijo %>% no es parte de la base R, pero de hecho está definido por el paquete magrittr ( CRAN ) y es muy utilizado por dplyr ( CRAN ).

Funciona como una tubería, de ahí la referencia a la famosa pintura de Magritte La trahison des images .

Lo que hace la función es pasar el LHS al primer argumento del RHS. En el siguiente ejemplo, el iris dataframe pasa a la 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 

Por lo tanto, iris %>% head() es equivalente a head(iris) .

A menudo, %>% se llama varias veces para “encadenar” funciones juntas, lo que logra el mismo resultado que el anidamiento. Por ejemplo, en la cadena siguiente, el iris se pasa a la head() , luego el resultado de eso se pasa a summary() .

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

Por lo tanto, iris %>% head() %>% summary() es equivalente a summary(head(iris)) . Algunas personas prefieren encadenarse al anidamiento porque las funciones aplicadas se pueden leer de izquierda a derecha en lugar de leerlo de adentro hacia afuera.

    Intereting Posts