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".
Try this:
data.frame( x = c(1:3), y = (4:6)) %>% sum -> a
You can do it like so:
data.frame( x = c(1:3), y = (4:6)) %>%
sum %>%
assign(x="a",value=.,pos=1)
A couple of things to note:
You can use "." to tell magrittr
which argument the object being brought forward belongs in. By default it is the first, but here I use the .
to indicate that I want it in the second value
argument instead.
Second I had to use the pos=1
argument to make the assignment in the global environment.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With