Я рассмотрел много похожих вопросов (например, это one), но в моем случае группы обработки не сохраняются как отдельные векторы, и мне не удалось заменить имена моих переменных в любом другом коде, который я видел по этой теме.
Я хочу сравнить средства для лечения «до» и «после» для одной и той же переменной (оценки теста) в разных местах.
Мои данные выглядят так:
> head(my.df, n=15)
Location TestScore Treatment
1 4 0.7167641 Before
2 4 0.7998261 Before
3 4 0.8165880 After
4 4 0.8078955 After
5 7 0.6993413 Before
6 7 0.8404255 Before
7 7 0.7803164 Before
8 7 0.8383867 After
9 7 0.7930419 After
10 8 0.8504963 Before
11 8 0.7734653 Before
12 8 0.8408432 After
13 8 0.7980454 After
14 8 0.8407756 After
15 8 0.7837427 After
Обратите внимание, что количество ответов «до» и «после» различается как внутри, так и между локациями.
Я знаю, что могу использовать следующий код для сравнения до и после лечения во ВСЕХ местах:
t.test(TestScore ~ Treatment, data = my.df, var.equal = FALSE)
Однако я хочу сравнить значения до и после для КАЖДОГО местоположения (поскольку у меня более 100 местоположений), а не для ВСЕХ мест одновременно. В идеале я мог бы сгенерировать список или таблицу p-значений без необходимости каждый раз писать новую строку кода. Я подумал, что могу сделать что-то простое, например добавить «group_by», как показано ниже:
my.df %>% group_by(Location) %>% do(tidy(t.test(TestScore ~ Treatment, data = my.df, var.equal = FALSE)
но когда я запускаю этот код, я получаю вывод с одинаковым значением p для каждого местоположения (даже если данные разные), как показано ниже:
# A tibble: 10 x 11
# Groups: Location [10]
Location estimate estimate1 estimate2 statistic p.value parameter conf.low conf.high method alternative
<fct> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <chr> <chr>
1 4 0.0587 0.972 0.913 15.0 1.60e-20 51.8 0.0508 0.0665 Welch Two Sample t-test two.sided
2 7 0.0587 0.972 0.913 15.0 1.60e-20 51.8 0.0508 0.0665 Welch Two Sample t-test two.sided
3 8 0.0587 0.972 0.913 15.0 1.60e-20 51.8 0.0508 0.0665 Welch Two Sample t-test two.sided
4 9 0.0587 0.972 0.913 15.0 1.60e-20 51.8 0.0508 0.0665 Welch Two Sample t-test two.sided
5 10 0.0587 0.972 0.913 15.0 1.60e-20 51.8 0.0508 0.0665 Welch Two Sample t-test two.sided
6 12 0.0587 0.972 0.913 15.0 1.60e-20 51.8 0.0508 0.0665 Welch Two Sample t-test two.sided
7 14 0.0587 0.972 0.913 15.0 1.60e-20 51.8 0.0508 0.0665 Welch Two Sample t-test two.sided
8 16 0.0587 0.972 0.913 15.0 1.60e-20 51.8 0.0508 0.0665 Welch Two Sample t-test two.sided
9 21 0.0587 0.972 0.913 15.0 1.60e-20 51.8 0.0508 0.0665 Welch Two Sample t-test two.sided
10 27 0.0587 0.972 0.913 15.0 1.60e-20 51.8 0.0508 0.0665 Welch Two Sample t-test two.sided
Как я могу получить отдельные p-значения, сравнивая до и после лечения для каждого места? Любая помощь приветствуется!