我想检查 38 名参与者的增长情况。我在教学的 3 个不同阶段中的每一个都有 2 个分数 - 基线、教学期间和教学后。重申一下,我有每个参与者的 2 个基线分数、2 个教学分数和 2 个后期分数。所有参与者都在一个组中。
- 我应该如何测试增长?
- 单向重复测量方差分析,还是双向重复测量方差分析?
- 我应该将其作为 6 个连续分数(例如时间 1-6)并查看时间因素,还是应该按时间交互查看指令阶段。这甚至有意义吗?
我想检查 38 名参与者的增长情况。我在教学的 3 个不同阶段中的每一个都有 2 个分数 - 基线、教学期间和教学后。重申一下,我有每个参与者的 2 个基线分数、2 个教学分数和 2 个后期分数。所有参与者都在一个组中。
我建议您使用Time
6 级因子,然后使用适当的对比来比较相位,例如,使用对比系数检查Post vs Instruction。
Time
由于重复测量,在模型中使用自身可能很重要。例如,有些人可能想在这些上放置某种时间序列错误结构——或者可能是一个模型,它假设一个阶段内的相关性大于它们之间的相关性。
3 个受试者的玩具数据集,6 次:
> fake = expand.grid(time=1:6, subj=letters[1:3])
> fake$y = c(18,15,30,28,48,49,19,18,27,28,49,52,19,18,27,25,48,49)
拟合具有time
6 水平因子和subj
随机效应的模型:
> library(lme4)
> fake.lmer = lmer(y ~ factor(time) + (1|subj), data = fake)
我将使用lsmeans包中的函数分三个阶段完成。首先,获取每个的 LS~means(又名预测)time
> library(lsmeans)
> (time.lsm = lsmeans(fake.lmer, "time"))
time lsmean SE df lower.CL upper.CL
1 18.66667 0.8388705 12 16.83890 20.49444
2 17.00000 0.8388705 12 15.17223 18.82777
3 28.00000 0.8388705 12 26.17223 29.82777
4 27.00000 0.8388705 12 25.17223 28.82777
5 48.33333 0.8388705 12 46.50556 50.16110
6 50.00000 0.8388705 12 48.17223 51.82777
为方便起见,这里是每个阶段的平均预测。该函数是contrast
,但它可以估计线性函数,无论它们是否是对比:
> (phase.lsm = contrast(time.lsm, list(base = c(.5,.5,0,0,0,0),
+ instr = c(0,0,.5,.5,0,0), post = c(0,0,0,0,.5,.5))))
contrast estimate SE df t.ratio p.value
base 17.83333 0.5947299 9.86 29.986 <.0001
instr 27.50000 0.5947299 9.86 46.239 <.0001
post 49.16667 0.5947299 9.86 82.671 <.0001
现在获得这些的成对比较:
> pairs(phase.lsm)
contrast estimate SE df t.ratio p.value
base - instr -9.666667 0.83666 10 -11.554 <.0001
base - post -31.333333 0.83666 10 -37.450 <.0001
instr - post -21.666667 0.83666 10 -25.897 <.0001
P value adjustment: tukey method for a family of 3 means
请注意,我本可以直接进入我之前提到的对比类型。例如:
> contrast(time.lsm, list(`base-instr` = c(.5,.5, -.5,-.5, 0,0)))
contrast estimate SE df t.ratio p.value
base.instr -9.666667 0.83666 10 -11.554 <.0001
似乎有很多可能的方法可以做到这一点,具体取决于您到底想要什么。
ANOVA 或重复测量 ANOVA 的想法只有在您有不同的治疗组时才有意义(对我而言)(例如,38 人中有一半接受了不同的指示等)。由于所有参与者都属于 1 个组,在我看来,您需要的只是一个好的旧配对 t(z)-test。
但首先,您需要定义增长。例如,如果您将增长定义为最后一次测量与第一次测量之间的差异,那么您可以运行:(
t.test(Y6,Y1,paired=TRUE)
在哪里Y6
和Y1
是相应时间的测量值)。
如果您将增长定义为最后 2 和前 2 之间的差异,那么您可以首先导出该变量,并将问题简化为前一种情况。
Ypost=(Y6+Y5)/2;Ybase=(Y1+Y2)/2
接着t.test(Ypost,Ybase,paired=TRUE)
这当然是进行分析的最简单方法,可以说有更复杂的方法来做事情,例如具有随机参与者效应和时间相关误差结构的线性混合模型。但是在不知道你到底想做什么的情况下,最好还是坚持使用更简单的方法(即t.test
)。