sesgo - tabla de frecuencias en r studio
¿Qué significa%>% en R? (1)
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 <- all_movies %>%
filter(
Reviews >= reviews,
Oscars >= oscars,
Year >= minyear,
Year <= maxyear,
BoxOffice >= minboxoffice,
BoxOffice <= maxboxoffice
) %>%
arrange(Oscars)
El operador infijo %>%
no es parte de la base R, pero de hecho está definido por el paquete magrittr
( here ) 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
marco de datos se 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.