假设我有以下函数:
SlowFunction = function(vector){
return(list(
mean =mean(vector),
sd = sd(vector)
))
}
我希望使用dplyr:summarise将结果写入数据框:
iris %>%
dplyr::group_by(Species) %>%
dplyr::summarise(
mean = SlowFunction(Sepal.Length)$mean,
sd = SlowFunction(Sepal.Length)$sd
)
请问有没有办法可以只调用一次 SlowFunction,而不是两次呢?(在我的代码中 SlowFunction 是一个需要多次调用的缓慢函数。)当然,不要将 SlowFunction 拆分成两个部分。所以实际上我希望能够以一种方式在一个语句中填充数据框的多列。