在 R 中使用 simr 包确认成功 'extend'

Confirm succesful 'extend' using simr package in R

我在 simr 中使用 'extend' 函数,但我希望能够确认它是否已按照我的意愿适当地扩展了数据集。有没有我可以用来显示它创建的数据集的功能?

我有一个数据集,包括 2 组中每组 17 名参与者。每个参与者在 8 个时间点中的每一个都提供了两个评分,因此我现在有参与者变量 (id)、两个评分之间的差异(我的因变量,rating_diff)、时间(8 个级别)和组( 2 个级别,中立和威胁)。据我了解,id 嵌套在组中。

我构建了以下模型并计算了检测时间和组之间交互作用的能力:

model_es <- lmer(rating_diff ~ time + group + time*group + (1|id),
                   data = data)
fixef(model_es)['time:groupthreat'] <- -0.16
interaction_power0 <- powerSim(model_es, nsim=100, test = 
fcompare(rating_diff ~ time + group)) # Power given varies between 86% and 93%, which is too high.

我现在想 'extend' 模型来确定每个组中只有 15 个参与者的功率。首先,我检查了现有数据集中的行数:

nrow(getData(model_es)) # gives 252 rows

我计算出将数据集更改为每组 15 名参与者应该会产生 220 行。 首先,我虽然应该在 id+group 内扩展,但是这样行太多了:

model_es_extend0 <- extend(model_es, within = 'id+group', n=30)
nrow(getData(model_es_extend0)) # 954 rows

我尝试沿 id 扩展:

model_es_extend1 <- extend(model_es, along = 'id', n=30)
nrow(getData(model_es_extend1)) #220 rows

这显然给出了正确的行数,但我如何验证每组有 15 名参与者,而不是一组仍然有 17 人,另一组有 13 人?

您应该可以检查:

xtabs(~ group + time, data=getData(model_es_extend1))

我怀疑你想要的扩展命令是:

model_es_extend2 <- extend(model_es, within = 'time+group', n=15)