how to feed the result of a pipe chain (magrittr) to an object

grrgrrbla picture grrgrrbla · Sep 22, 2014 · Viewed 10k times · Source

This is a fairly simply question. But I couldn't find the answer per google/stackexchange and looking at the documentation of magrittr. How do you feed the result of a chain of functions which are connected via %>% to create a vector?

what I saw most people do is:

a <-
data.frame( x = c(1:3), y = (4:6)) %>%
sum()

but is there also a solution where I can just pipe-chain the result to feed it to an object, maybe an alias or sth of the like, somewhat like this:

data.frame( x = c(1:3), y = (4:6)) %>%
sum() %>%
a <- ()

this would help with keeping all of the code in the same logic of feeding results forward "down the pipe".

Answer

G. Grothendieck picture G. Grothendieck · Sep 22, 2014

Try this:

data.frame( x = c(1:3), y = (4:6)) %>% sum -> a