使用多个分组变量对 R 进行 t 检验

问题描述

我有一个这样的数据集

long_id short_id quants 处理 avg_amount
7210 721015 0 2528582.92
7210 721015 0 1893851.78
7210 721015 0 2274530.74
7210 721015 1 1301169.80
7210 721015 1 1442934.90
7210 721015 1 1582988.01
7210 721022 0 1569400.78
7210 721022 0 25463492.9
7210 721022 0 58901706.6
7210 721022 1 81037294.1
7210 721022 1 1491750.90
7210 721022 1 8721906.01

对于多个 ID 依此类推。我也有相同版本的宽格式数据集,其中“0”成为treatment_0变量,而“1”成为“treatment_1”变量。

我想进行 t 检验,以比较 avg_amount 对 0/1 两种处理的均值,但也要对长 ID 和短 ID 以及 quants 变量进行分组。

这是我尝试过的:

stat.test <- df %>%
  group_by(short_id,long_id,quants) %>%
  t_test(avg_amount ~ treatment ) %>%
  adjust_pvalue(method = "BH") %>%
  add_significance()

错误mutate()data 有问题。 ℹ data = map(.data$data,.f,...)。 x 没有足够的“x”观察

df2 <- data_wide %>% 
  group_by(short_id,quants) %>% 
  do(tidy(t.test(.$treatment_0,.$treatment_1,mu = 0,alt = "two.sided",paired = F,conf.level = 0.99)))

t.test.default(.$treatment_0,alt = "two.side",: 没有足够的 'x' 观察

-> 也试过 "paired=T" 但结果是一样的。

stat.test <- df %>%
+   group_by(short_id,long_id treatment,quants,avg_amount) %>%
+   t_test(avg_amount ~ treatment ) %>%
+   adjust_pvalue(method = "BH") %>%
+   add_significance()

错误mutate()data 有问题。 ℹ data = map(.data$data,...)。 x 无法提取不存在的列。 x 列 treatment 不存在。

这是我第一次需要进行这样的 t 检验。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)