我正在尝试用重复测量进行双向混合因子ANOVA。来自:
aov(Estimate ~ Dose*Visit, data = AUClast)
我得到3个正方形:两个主要效果(访问和剂量)和他们的交互(剂量:访问),我手工弄清楚是正确的。
Dose和Visit都是解释变量,Dose是一个主题变量,有4个级别,3,10,30,100和Visit是2个级别,1和28的主题变量(重复测量)。此外, subjectID变量是'Animal'
我想在结果中加入一个效果,但不知道如何。期望的效果是剂量内动物之间的差异,或者SAS如何将动物称为动物(剂量)。 SS的计算方法如下:
sum((mean(Animal(ik))-mean(Dose(i))^2)
其中k是剂量i的动物(平均每只动物的第1次访问和第28次访问的观察估计值,并减去本研究中所有动物的剂量数量平方的动物的平均估计值)。 p>
是否有人知道如何相应地调整配方以包含动物(剂量)效果?
如果所有这些都太不明确,请提前感谢您的帮助和抱歉。
答案 0 :(得分:1)
如果我理解正确,我有一个建议。首先,一个样本数据集
#sample data
set.seed(15)
AUClast<-data.frame(
expand.grid(
Animal=1:3,
Dose=c(3,10,30,100),
Visit=c(1,28)
), Estimate=runif(24)
)
现在我们按要求计算交互项。首先,我们将数据分成剂量组,然后对于每个剂量组,我们从每只动物的平均值中减去总体平均值。然后我们总结这些差异的平方。最后,我们将它们展开,然后使用unsplit
进行分组。
animaldose<-unsplit(lapply(split(AUClast, AUClast$Dose), function(x) {
rep(
sum((tapply(x$Estimate, x$Animal, mean) - mean(x$Estimate))^2)
, nrow(x))
}), AUClast$Dose)
我们可以看到原始data.frame
旁边的内容cbind(AUClast, animaldose)
给出了结果
Animal Dose Visit Estimate animaldose
1 1 3 1 0.60211404 0.1181935
2 2 3 1 0.19504393 0.1181935
3 3 3 1 0.96645873 0.1181935
4 1 10 1 0.65090553 0.1641363
5 2 10 1 0.36707189 0.1641363
6 3 10 1 0.98885921 0.1641363
7 1 30 1 0.81519341 0.0419291
8 2 30 1 0.25396837 0.0419291
9 3 30 1 0.68723085 0.0419291
10 1 100 1 0.83142902 0.1881314
11 2 100 1 0.10466936 0.1881314
12 3 100 1 0.64615091 0.1881314
13 1 3 28 0.50909039 0.1181935
14 2 3 28 0.70662857 0.1181935
15 3 3 28 0.86231366 0.1181935
16 1 10 28 0.84178515 0.1641363
17 2 10 28 0.44744372 0.1641363
18 3 10 28 0.96466695 0.1641363
19 1 30 28 0.14118707 0.0419291
20 2 30 28 0.77671251 0.0419291
21 3 30 28 0.80372740 0.0419291
22 1 100 28 0.79334595 0.1881314
23 2 100 28 0.35756312 0.1881314
24 3 100 28 0.05800106 0.1881314
所以你可以看到每个小组都有它自己的调整。