Можете ли вы передать данные в парный тест?

Мне интересно, можно ли упростить следующий код, чтобы данные передавались непосредственно из команды summate в pairwise.t.test без создания промежуточного объекта?

data_for_PTT <- data %>% 
  group_by(subj, TT) %>% 
  summarise(meanRT = mean(RT))

pairwise.t.test(x = data_for_PTT$meanRT, g = data_for_PTT$TT, paired = TRUE)

Я пробовал x = .$meanRT, но мне это не понравилось, возвращая:

Ошибка в match.arg(p.adjust.method): 'arg' должен быть NULL или вектором символов


person Tom Beesley    schedule 12.02.2020    source источник
comment
Этот вопрос и answer, кажется, решает очень похожую проблему.   -  person neilfws    schedule 13.02.2020
comment
да, я видел это, но есть два отличия: одно из них — использование столбцов в двух фреймах данных, а другое — использование t.test, а не pairwise.t.test. Последнее не позволяет использовать параметр data, который казался ключевым. Я, вероятно, ошибаюсь, но я не мог понять, как применить данные там советы.   -  person Tom Beesley    schedule 13.02.2020


Ответы (1)


Вы можете использовать фигурные скобки:

data_for_PTT <- data %>% 
  group_by(subj, TT) %>% 
  summarise(meanRT = mean(RT)) %>%
  {pairwise.t.test(x = .$meanRT, g = .$TT, paired = TRUE)}

Воспроизводимый:

df <- data.frame(X1 = runif(1000), X2 = runif(1000), subj = rep(c("A", "B")))

df %>% 
  {pairwise.t.test(.$X1, .$subj, paired = TRUE)}
person Greg    schedule 12.02.2020
comment
Блестящий. это работает. Вопрос новичка. Для дальнейшего использования, какова функция фигурных скобок здесь? - person Tom Beesley; 13.02.2020
comment
Содержимое фигурных скобок оценивается в их текущей среде, которая здесь включает все, что передается по каналу. Вызов функции (например, pairwise.t.test) создает новую среду, которая может или не может хорошо работать с каналом. Фигурные скобки заставляют вызываемую функцию работать в среде, содержащей все, что вы передаете. - person Greg; 13.02.2020
comment
Если кто-то еще захочет принять удар по этому объяснению, это будет не самая плохая идея... - person Greg; 13.02.2020