【发布时间】:2019-03-13 19:33:06
【问题描述】:
我想对多个阈值和多个数据帧执行 t.tests。 这是我的示例代码,阈值为 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)
不,我想为所有数据帧的变量 A 和 B 运行 t.test。
此代码适用于第一个阈值 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)
现在我得到了我想要的输出:(阈值 1 的所有数据帧的 t.tests 表)
# 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
但现在我想为所有 3 个阈值自动运行 t.test。 如何将阈值放入 map_function,以便获得 3 个新的 t.test 表? (每个阈值 1 个表格)
【问题讨论】:
-
如何设置阈值?
-
这是一个示例代码。在我的真实数据中,阈值是 1、2 和 3 个标准差。
标签: r