[英]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.