Я ищу способ вычисления нескольких t-тестов для всех комбинаций из 2 элементов списка в среде tidyverse R.
Я хотел бы проверить средние значения миль / (США) галлона на основеПередача для каждой комбинации цил и против. Мой рабочий пример - это код:
mtcars %>%
filter(cyl==8 & vs == 0) %>%
mutate(am = as.factor(am)) %>%
# independent t-test
t.test(mpg ~ am, data = ., paired = FALSE)%>%
broom::tidy() %>%
mutate(cyl = 8) %>%
mutate(vs = 0) %>%
select(cyl, vs, everything())
Я написал этот фрагмент кода:
cyl_list <- list(unique(mtcars$cyl)) # 6 4 8
vs_list <- list(unique(mtcars$vs)) # 0 1
complete_t_test <- function(cyl_par, vs_par){
mtcars %>%
filter(cyl=={cyl_par} & vs == {vs_par}) %>%
mutate(am = as.factor(am)) %>%
# independent t-test
t.test(mpg ~ am, data = ., paired = FALSE) %>%
broom::tidy() %>%
mutate(cyl = {cyl_par}) %>%
mutate(vs = {vs_par}) %>%
select(cyl, vs, everything())}
Я думал о чем-то похожем на purrr::map2(cyl_list, vs_list, complete_t_test)
но это не сработало.