在管道 %>% 中保存 RDS 并将其 return 对象
saveRDS in a pipe %>% and have it return the object
有没有办法在管道 %>%
链中使用 saveRDS?
c(1,2,3) %>%
saveRDS(file="123.rda") %>%
mean()
这目前给出一个错误,因为 saveRDS return 为空。
我想要 saveRDS() 到 return c(1,2,3)!
也许编写你自己的函数,它的行为符合你的期望
save_and_return_RDS <- function(x) {
saveRDS(x, file="123.rda")
return(x)
}
然后使用它
c(1, 2, 3) %>% save_and_return_RDS()
#[1] 1 2 3
使用tsfe
包中的save_RDS
!它 returns 一个可以在管道中使用的不可见对象。
c(1,2,3) %>%
tfse::save_RDS("x.rda") %>%
mean()
# returns 2
我们可以使用 magrittr
中的 tee
(%T>
) 运算符
library(magrittr)
1:3 %T>%
saveRDS(file="123.rda") %>%
mean
#[1] 2
如果我们想return同一个对象,使用I
1:3 %T>%
saveRDS(file="123.rda") %>%
I
#[1] 1 2 3
根据?"%T>%"
Pipe a value forward into a function- or call expression and return the original value instead of theresult. This is useful when an expression is used for its side-effect, say plotting or printing.
有没有办法在管道 %>%
链中使用 saveRDS?
c(1,2,3) %>%
saveRDS(file="123.rda") %>%
mean()
这目前给出一个错误,因为 saveRDS return 为空。
我想要 saveRDS() 到 return c(1,2,3)!
也许编写你自己的函数,它的行为符合你的期望
save_and_return_RDS <- function(x) {
saveRDS(x, file="123.rda")
return(x)
}
然后使用它
c(1, 2, 3) %>% save_and_return_RDS()
#[1] 1 2 3
使用tsfe
包中的save_RDS
!它 returns 一个可以在管道中使用的不可见对象。
c(1,2,3) %>%
tfse::save_RDS("x.rda") %>%
mean()
# returns 2
我们可以使用 magrittr
tee
(%T>
) 运算符
library(magrittr)
1:3 %T>%
saveRDS(file="123.rda") %>%
mean
#[1] 2
如果我们想return同一个对象,使用I
1:3 %T>%
saveRDS(file="123.rda") %>%
I
#[1] 1 2 3
根据?"%T>%"
Pipe a value forward into a function- or call expression and return the original value instead of theresult. This is useful when an expression is used for its side-effect, say plotting or printing.