library(dplyr)
mtcars %>%
group_by(vs) %>%
do(tt=t.test(mpg~am, data=.)) %>%
mutate(t=tt$statistic, p=tt$p.value)
我已经对mgp进行了关于am的t.test,分别与每个值进行比较。现在我想要提取t.test模型的属性,并将它们排列在数据框中。我能够提取p-value和t-value或任何长度为1的属性。
输出:
Source: local data frame [2 x 4]
Groups: <by row>
vs tt t p
1 0 <S3:htest> -2.579484 0.034481482
2 1 <S3:htest> -3.764735 0.004436935
现在,如果我想使用以下代码提取平均组差异:
mtcars %>%
group_by(vs) %>%
do(tt=t.test(mpg~am, data=.)) %>%
mutate(t=tt$statistic, p=tt$p.value, delta=diff(tt$estimate))
甚至当我只想访问第0组的平均值时
mutate(t=tt$statistic, p=tt$p.value, delta=tt$estimate[0])
R 抛出以下错误:
Error: object 'tt' not found
似乎当对tt应用表达式或函数时,它在不同的环境中被评估,因此未定义。我也尝试使用funs但没有成功。请有经验的人点拨一下?