首页 > 解决方案 > saveRDS 在管道 %>% 中并让它返回对象

问题描述

有没有办法在管道%>%链中使用 saveRDS?

c(1,2,3) %>% 
saveRDS(file="123.rda") %>% 
mean()

这目前会产生错误,因为 saveRDS 返回 null。

我希望 saveRDS() 返回 c(1,2,3)!

标签: rmagrittr

解决方案


也许编写你自己的函数,它的行为符合你的期望

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

推荐阅读