[英]How do I pass a column name to a model formula in R using dplyr::summarise_at()
我正在尝试从 R 中的一系列模型中获取一些汇总统计信息。
例如,我可以将变量传递给公式的 LHS:
library(tidyverse)
mtcars %>%
summarise_at(vars(cyl:hp), list(
r = ~summary(lm(formula = . ~ mpg))$r.squared
))
cyl_r disp_r hp_r
1 0.72618 0.7183433 0.6024373
但我似乎无法将变量传递给 RHS:
mtcars %>%
summarise_at(vars(cyl:hp), list(
r = ~summary(lm(formula = mpg ~ .))$r.squared
))
Error in terms.formula(formula, data = data) :
'.' in formula and no 'data' argument
有没有办法做我想做的事? 我隐约知道我可能应该使用 purr::map 或其他东西,但我在那里的实验失败了。
提前致谢。
✔ ggplot2 3.2.1 ✔ 咕噜声 0.3.3
✔ tibble 2.1.3 ✔ dplyr 0.8.3
✔ 整理 1.0.0 ✔ 整理 1.4.0
✔ 阅读器 1.3.1 ✔ forcats 0.4.0
我不太清楚第一个是如何工作的,但使用.x
而不是.
似乎工作。
library(dplyr)
mtcars %>%
summarise_at(vars(cyl:hp), list(
r = ~summary(lm(formula = mpg ~ .x))$r.squared
))
# cyl_r disp_r hp_r
#1 0.72618 0.71834 0.60244
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.