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

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

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

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

Я получаю свои данные с помощью SQL-запросов, таких какниже:

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 Ответ

0 голосов
/ 12 декабря 2018

Вы не предоставили четкий ввод или ожидаемый вывод, но похоже, что

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

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

...