SIMR包powerCurve函数报错但等效powerSim函数可正常运行问题求助
报错原因
powerSim()仅需针对你当前传入模型的固定样本量计算把握度,不需要识别样本量扩展维度,因此可以正常运行。而powerCurve()需要生成不同样本量水平下的把握度序列,默认会自动检索要扩展的变量维度,你手动修改了模型的固定效应值,打断了它的自动识别逻辑,才会抛出找不到默认固定效应的错误。
解决方法
调用powerCurve()时手动添加along参数,明确指定你要沿着id变量扩展受试者样本量即可,同时保持你之前的test参数写法不变即可:
用法1:用似然比检验对比主效应模型和全模型
pc_lrt <- powerCurve( modFull, test = fcompare(~ day + group), along = "id", # 明确指定沿着id变量扩展样本量 nrange = seq(10, 100, 10) # 可自定义需要计算的样本量范围 ) # 绘图查看把握度曲线 plot(pc_lrt)
用法2:直接检验交互项的z检验结果
要注意交互项的名称要和fixef(modFull)里输出的完全一致:
pc_interaction <- powerCurve( modFull, test = fixed("day:groupplacebo", method = "z"), along = "id", nrange = seq(10, 100, 10) ) plot(pc_interaction)
如果是要基于扩展后的80人样本量模型生成曲线,把上面代码里的modFull替换为modFullExt即可。
内容的提问来源于stack exchange,提问作者llewmills
相关产品推荐
相关产品推荐

