Как использовать 2 столбца в одной функции (t.test) после группировки по

У меня есть список, где мне нужно использовать t.test функция более 2 столбцов. Я знаю, я могу просто сделать

t.test(myF$before, myF$after)

но после группировки у меня много групп, и было бы сложно делать все по одному.

Я получаю свои данные с помощью SQL Query, например:

myF <- sqlQuery(conn, 'Select colA, colB, colC, before, after from MyTable')

следующий код даст мне среднее значение before а также after столбцы один за другим

aggregate(cbind(before = before, after = after) ~ colA+colB+colC, 
          data = myF, 
          FUN = mean)

Выход похож на это:

colA      colB     colC      before after
GroupA1   GroupB1  GroupC1   110    11
GroupA2   GroupB1  GroupC1   44     15
GroupA3 .....................
......

Итак, я хочу получить t.test результаты между before а также after столбцы для каждой группы. Как я могу этого достичь?

1 ответ

Решение

Вы не предоставили четкого ввода или ожидаемого вывода, но это выглядит, например,

myF %>% group_by(colA, colB, colC) %>% summarise(pval = t.test(.$before, .$after)$p.val)

должен добиться того, что вы хотите.

Другие вопросы по тегам