(subject.id,6)))
需要(NLME)
模型 </跨度> 运用 复合 </跨度> 对称协方差结构:总结(lme(Y~GROUP + X1,随机=〜+ 1 |人物)关于更复杂的实验设计的混合模型有几个问题和帖子,所以我觉得这个更简单 模型 </跨度> 会帮助其他初学者和我这个过程。
所以,我的
请尝试以下:
model1 <- lme( Y ~ GROUP + X1, random = ~ GROUP | person, correlation = corCompSymm(form = ~ day | person), na.action = na.exclude, data = df1, method = "REML" ) summary(model1)
我认为 random = ~ groupvar | subjvar 选项 R lme 提供类似的结果 repeated / subject = subjvar group = groupvar 选项 SAS/MIXED 在这种情况下。
random = ~ groupvar | subjvar
R
lme
repeated / subject = subjvar group = groupvar
SAS/MIXED
的 编辑: 强>
SAS /混合
R(修改后的模型2)
model2 <- lme( Y ~ GROUP + X1, random = list(person = pdDiag(form = ~ GROUP - 1)), correlation = corCompSymm(form = ~ day | person), weights = varIdent(form = ~ 1 | GROUP), na.action = na.exclude, data = df1, method = "REML" ) summary(model2)
所以,我认为这些协方差结构非常相似(锟) <子> G1 子> =锟 <子> G 子> 2 +锟 <子> 1 子> )。
的 编辑2: 强>
协变量估计(SAS / MIXED):
Variance person GROUP TEST 8789.23 CS person GROUP TEST 125.79 Variance person GROUP CONTROL 82775 CS person GROUP CONTROL 33297
所以
TEST group diagonal element = 125.79 + 8789.23 = 8915.02 CONTROL group diagonal element = 33297 + 82775 = 116072
其中,对角元素=锟 <子> K1 子> +锟 <子> ķ 子> 2 。
协变量估计(R lme):
Random effects: Formula: ~GROUP - 1 | person Structure: Diagonal GROUP1TEST GROUP2CONTROL Residual StdDev: 14.56864 184.692 93.28885 Correlation Structure: Compound symmetry Formula: ~day | person Parameter estimate(s): Rho -0.009929987 Variance function: Structure: Different standard deviations per stratum Formula: ~1 | GROUP Parameter estimates: 1TEST 2CONTROL 1.000000 3.068837
TEST group diagonal element = 14.56864^2 + (3.068837^0.5 * 93.28885 * -0.009929987) + 93.28885^2 = 8913.432 CONTROL group diagonal element = 184.692^2 + (3.068837^0.5 * 93.28885 * -0.009929987) + (3.068837 * 93.28885)^2 = 116070.5
其中,对角元素=锟 <子> G 子> 2 +锟 <子> 1 子> +锟 <子> G 子> 2 。
哦,这将是一个棘手的问题,如果甚至可能使用标准的nlme函数,将会对Pinheiro / Bates进行一些认真的研究。
在你花时间做这件事之前,你应该确保这是你需要的确切模型。也许还有一些其他东西可能更适合您的数据故事。或者也许R可以更容易地做到这一点同样好,但不完全相同。
首先,这是我对使用此行在SAS中所做的工作的看法:
repeated / type=cs subject=person group=GROUP;
这个 type=cs subject=person 诱导同一个人的所有测量之间的相关性,并且所有天对的相关性是相同的。该 group=GROUP 允许每个组的相关性不同。
type=cs subject=person
group=GROUP
相比之下,这是我对你的R代码所做的事情的看法:
random = ~ +1 | person, correlation=corCompSymm(form=~day|person)
这段代码实际上以两种不同的方式添加了几乎相同的效果;该 random line为每个人添加一个随机效果,并且 correlation 线诱导同一个人的所有测量之间的相关性。但是,这两件事几乎完全相同;如果相关性为正,则通过包含其中任何一个来获得完全相同的结果。我不确定当你包括两者时会发生什么,但我知道只有一个是必要的。无论如何,此代码对所有个体具有相同的相关性,它不允许每个组具有自己的相关性。
random
correlation
为了让每个组都有自己的相关性,我认为你必须从两个不同的部分构建一个更复杂的相关结构;我从来没有这样做,但我很确定我记得Pinheiro / Bates这样做。
您可以考虑为人员添加随机效果,然后让不同组的方差不同 weights=varIdent(form=~1|group) (从内存中,请检查我的语法)。这不会完全相同,但讲述了类似的故事。 SAS中的故事是,某些人的测量值与其他人的测量值相关性更高。考虑到这意味着什么,具有较高相关性的个体的测量值将比具有较低相关性的个体的测量值更接近。相比之下,R中的故事是个体内测量的可变性变化;考虑到这一点,具有较高可变性的测量具有较低的相关性。所以他们确实讲述了类似的故事,但从相反的方面来看。
weights=varIdent(form=~1|group)
甚至可能(但我会感到惊讶)这两个模型最终成为同一事物的不同参数化。我的直觉是整体测量的可变性在某些方面会有所不同。但即使它们不是同一个东西,也值得写出参数化以确保您理解它们并确保它们正确描述您的数据故事。