【发布时间】:2021-04-05 16:19:30
【问题描述】:
我正在尝试使用新版本的 dplyr 更新我的函数。 首先,我有这个功能(旧版本):
slope.k <- function(data, Treatment, Replicate, Day, Ln.AFDMrem){
fitted_models <- data %>% group_by(Treatment, Replicate) %>%
do(model = lm(Ln.AFDMrem ~ Day, data = .))
broom::tidy(fitted_models,model) %>% print(n = Inf)
}
但是,do() 函数已被取代。现在,我正在尝试使用这个(新)版本进行更新:
slope.k <- function(data, Treatment, Replicate, Day, Ln.AFDMrem){
mod_t <- data %>% nest_by(Treatment, Replicate) %>%
mutate(model = list(lm(Ln.AFDMrem ~ Day, data = data))) %>%
summarise(tidy_out = list(tidy(model)))
unnest(select(mod_t, Treatment, tidy_out)) %>% print(n = Inf)
}
但是,它不能正常工作,因为我有以下警告:
Warning messages:
1: `cols` is now required when using unnest().
Please use `cols = c(tidy_out)`
2: `...` is not empty.
We detected these problematic arguments:
* `needs_dots`
These dots only exist to allow future extensions and should be empty.
Did you misspecify an argument?
提前致谢!!!
【问题讨论】:
-
在
unnest中,需要c(mod_t, Treatment, tidy_out) -
您是否尝试过使用警告建议
cols = c(tidy_out)的内容?
标签: r function dplyr tidyverse plyr