【发布时间】:2018-10-06 18:21:44
【问题描述】:
是否可以从piping 运算符运行t.test?
我试图找到这个问题的答案,但围绕这个主题的大多数问题都着眼于在同一个数据集上进行许多测试。
我看过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)
)
如果我使用base R 运行t.test,我会得到结果:
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
我需要做一些额外的操作吗?
【问题讨论】: