Предположим, у нас есть набор игрушечных данных:
library(tidyverse)
library(purrr)
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)
, где a
- зависимая переменная, а b:d
- независимые переменные. Идея состоит в том, чтобы запустить glm
модель для каждой независимой переменной:
glm(a ~ b, data = tbl, family = "binomial")
glm(a ~ c, data = tbl, family = "binomial")
glm(a ~ d, data = tbl, family = "binomial")
Моя первоначальная попытка выглядит следующим образом:
tbl %>%
pivot_longer(2:4, names_to = "key", values_to = "val") %>%
group_split(key) %>%
map(~ glm(a ~ val, data = .x, family = "binomial"))
Это привело к ошибке, поскольку типы данных b
и c
(или d
) не совпадают.
Error: No common type for `b` <factor<dec08>> and `c` <double>.
Интересно, как решить эту проблему.