【发布时间】:2020-03-09 14:05:41
【问题描述】:
这个问题与我之前的问题here一致。但是,我尝试将管道调用的输出与purrr 的 map 函数组合到一个管道中。例如:
library(tidyverse)
library(purrr)
my_tbl <- tibble(a = rep(c(0, 1), each = 5),
b = rep(c(0, 1), times = 5),
c = runif(10),
d = rexp(10)) %>%
mutate_at(vars(1,2), as.factor)
map(names(my_tbl)[-1], ~glm(reformulate(.x, "a"), data = my_tbl, family = "binomial")) %>% summary()
我试过了
my_tbl <- tibble(a = rep(c(0, 1), each = 5),
b = rep(c(0, 1), times = 5),
c = runif(10),
d = rexp(10)) %>%
mutate_at(vars(1,2), as.factor) %>%
{map(names(.)[-1], ~glm(reformulate(.x, "a"), data = ., family = "binomial")) %>% summary()}
但我得到了:
Error in eval(predvars, data, env) :
invalid 'envir' argument of type 'character'
【问题讨论】:
-
真的很小,但是
purrr已经通过加载tidyverse加载,所以你不需要明确地这样做。或者,更好的是,只需加载您需要的 tidyverse 包,这样就可以减少开销