【发布时间】:2015-07-10 08:45:21
【问题描述】:
阅读 dplyr 中do() 的文档后,我对为数据组创建回归模型的能力印象深刻,并且想知道是否可以使用不同的自变量而不是数据组来复制它。
到目前为止我已经尝试过
require(dplyr)
data(mtcars)
models <- data.frame(var = c("cyl", "hp", "wt"))
models <- models %>% do(mod = lm(mpg ~ as.name(var), data = mtcars))
Error in as.vector(x, "symbol") :
cannot coerce type 'closure' to vector of type 'symbol'
models <- models %>% do(mod = lm(substitute(mpg ~ i, as.name(.$var)), data = mtcars))
Error in substitute(mpg ~ i, as.name(.$var)) :
invalid environment specified
所需的最终输出类似于
var slope standard_error_slope
1 cyl -2.87 0.32
2 hp -0.07 0.01
3 wt -5.34 0.56
我知道using a lapply approach 可能会发生类似的事情,但我发现 apply 家族在很大程度上难以理解。有 dplyr 解决方案吗?
【问题讨论】:
标签: r regression dplyr lm