Можно ли запустить t.test
из piping
операторов?
Я пытался найти ответ на этот вопрос, но большинство вопросов по этой теме касаются выполнения множества тестов с одним и тем же набором данных.
Я посмотрел пакет broom
, но, похоже, он хорошо подходит для чтения результатов.
Меня интересует, возможно ли просто использовать piping
и запустить t.test()
на выходе.
Например, вот некоторые примеры данных
library(dplyr)
d <- data.frame(
group = sample(LETTERS[1:2], size = 10, replace = T),
amount = sample(1:3, size = 10, replace = T)
)
Если я запускаю t.test
, используя base R
, я получаю результаты:
t.test(d$amount~d$group, var.equal = T)
> d
group amount
1 A 2
2 A 2
3 B 1
4 B 3
5 A 2
6 B 1
7 B 2
8 A 1
9 B 3
10 A 3
Но если япопробуйте использовать piping
, я получаю ошибки:
d %>% t.test(amount~group, var.equal = T)
Error: is.atomic(x) is not TRUE
In addition: Warning messages:
1: In is.na(y) :
is.na() applied to non-(list or vector) of type 'language'
2: In mean.default(x) : argument is not numeric or logical: returning NA
3: In var(x) : NAs introduced by coercion
4: In mean.default(y) : argument is not numeric or logical: returning NA
Нужно ли делать какие-то дополнительные манипуляции?