operator r dplyr piping magrittr

operator - %>% r



Operadores aritméticos de cadena en dplyr con%>% pipe (2)

O use los Aliases en el paquete magrittr , por ejemplo:

1:10 %>% multiply_by(2) # [1] 2 4 6 8 10 12 14 16 18 20 1:10 %>% add(2) # [1] 3 4 5 6 7 8 9 10 11 12

Los Aliases incluyen ''palabras'' para operadores booleanos, extracción / reemplazo y operadores aritméticos

Me gustaría entender por qué, en el paquete dplyr o magrittr , y más específicamente la función de encadenamiento %>% tiene algún problema con los operadores básicos + , - , * y /

El encadenamiento toma la salida de la declaración anterior y la alimenta como primer argumento del siguiente:

1:10 %>% sum # [55]

Entonces, ¿cómo es que esto no funciona?

1:10 %>% *2 %>% sum 1:10 %>% .*2 %>% sum

También encontré que la siguiente sintaxis funciona para sumar / restar, pero no multiplicar o dividir. ¿porque?

1:10 %>% +(2) # works OK 1:10 %>% *(2) # nope...

Entonces, ¿debo escribir una función anónima incluso para hacer una operación *2 en mi data.frame?

1:10 %>% (function(x) x*2) %>% sum

Gracias, no pude encontrar la respuesta en otras preguntas de SO.


Rodee a los operadores con comillas o cotizaciones, y las cosas deberían funcionar como se espera:

1:10 %>% `*`(2) %>% sum # [1] 110 1:10 %>% `/`(2) %>% sum # [1] 27.5