使用R中的simr包确认成功的“扩展”

时间:2019-07-18 11:27:46

标签: r simulation

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

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

我构建了以下模型并计算了检测时间与群体之间相互作用的能力:

soup.find('div', {'class': 'target'}).find('a')['href']

我现在想“扩展”模型以确定每个组中只有15位参与者的力量。首先,我检查了现有数据集中的行数:

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.

我得出的结论是,将数据集更改为每组15位参与者,应该会产生220行。 首先,尽管我应该在id + group内进行扩展,但这会提供过多的行:

nrow(getData(model_es)) # gives 252 rows

我尝试沿id扩展:

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

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

1 个答案:

答案 0 :(得分:0)

您应该可以通过以下方式进行检查:

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

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

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