有没有办法按组按 LSmean 值汇总数据框?在这个例子中,我有 3 个不同的研究,每一个都是 RCB 设计
dat = data.frame(expand.grid(study=1:3,
trt=1:3,
block=1:4),
x=rnorm(36, mean=10, sd=2))
简单的意味着值将是:
library(dplyr)
group_by(dat, study, trt) %>% summarize(m = mean(x))
> Source: local data frame [9 x 3]
> Groups: study [?]
study trt m
(int) (int) (dbl)
1 1 1 10.214407
2 1 2 9.196280
3 1 3 10.129706
4 2 1 8.964452
5 2 2 9.279254
6 2 3 8.584681
7 3 1 10.585306
8 3 2 9.218595
9 3 3 7.961692
第一项研究的 LSmeans 值为:
library(lsmeans)
fit1 = aov(x ~ factor(trt) + block, data = subset(dat, study==1))
(fit1.rg <- ref.grid(fit1))
lsmeans(fit1.rg, ~trt)
> lsmeans(fit1.rg, ~trt)
trt lsmean SE df lower.CL upper.CL
1 10.21441 1.257092 8 7.315547 13.11327
2 9.19628 1.257092 8 6.297421 12.09514
3 10.12971 1.257092 8 7.230847 13.02856
我真的不知道是否可以一次完成所有操作,或者一个一个完成...提前致谢!