Я хочу выполнить t.test для нескольких порогов и нескольких фреймов данных.Вот мой пример кода с пороговыми значениями 1, 2 и 3:
df1 <- tibble(
var1A= rnorm(1:10) +1,
var1B= rnorm(1:10) +1,
var2A= rnorm(1:10) +2,
var2B= rnorm(1:10) +2,
var3A= rnorm(1:10) +3,
var3B= rnorm(1:10) +3)
df2 <- tibble(
var1A= rnorm(1:10) +1,
var1B= rnorm(1:10) +1,
var2A= rnorm(1:10) +2,
var2B= rnorm(1:10) +2,
var3A= rnorm(1:10) +3,
var3B= rnorm(1:10) +3)
df3 <- tibble(
var1A= rnorm(1:10) +1,
var1B= rnorm(1:10) +1,
var2A= rnorm(1:10) +2,
var2B= rnorm(1:10) +2,
var3A= rnorm(1:10) +3,
var3B= rnorm(1:10) +3)
Нет. Я хочу запустить t.test для переменных A и B для всех фреймов данных.
Этот кодработает для первого порога 1:
list_dfs = c('df1','df2','df3')
map(mget(list_dfs),
function(x)
{t.test(x%>%pull(paste0("var",1,"A")), x%>%pull(paste0("var",1,"B")))}
)%>%
map_df(tidy)%>% add_column(.before = 'estimate',df = list_dfs)
Теперь я получаю желаемый результат: (таблица t.tests для всех фреймов данных для порога 1)
# A tibble: 3 x 11
df estimate estimate1 estimate2 statistic p.value parameter conf.low conf.high method alternative
<chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <chr> <chr>
1 df1 -0.371 0.534 0.906 -0.874 0.395 16.0 -1.27 0.529 Welch T~ two.sided
2 df2 0.500 1.49 0.985 1.01 0.326 17.7 -0.542 1.54 Welch T~ two.sided
3 df3 -0.363 1.13 1.49 -0.952 0.354 18.0 -1.16 0.438 Welch T~ two.sided
Но теперь я хочузапустить t.test автоматически для всех 3 порогов.Как я могу поместить пороги в функцию map_function, чтобы я получил 3 новые таблицы t.tests?(1 таблица для каждого порога)