【发布时间】:2019-11-04 08:43:30
【问题描述】:
我正在寻找一种方法来计算 R tidyverse 环境中 2 个列表元素的所有组合的多个 t 检验。
我想根据 Cyl 和 vs 的每种组合的传输来测试英里/(美国)加仑的平均值。我的工作示例是以下代码:
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) 的东西
但它没有用。
【问题讨论】: