r-在simr中增加功率分析样本量的问题



我想在使用simr运行的功率分析中增加正在考虑的样本量。利用我的5名参与者的试点数据,我能够运行功率分析,但当我使用extend函数将受试者数量增加到20时,我得到:(函数(类,fdef,mtable(中的错误:无法找到函数"extend"的继承方法来签名";lmerModeLmerTest"。extend函数似乎对我的模型不起作用。

我使用以下代码得到了相同的错误,这些代码取自在线示例:

#load in the data
sleep_df = lme4::sleepstudy %>% 
clean_names()
#set up the model
y_var = "reaction"
fixed_effect = "days"
random_effect = "subject"
model_form = as.formula(paste0(y_var, " ~ ", fixed_effect, " + ", "(1|", random_effect, ")"))
print(model_form)
#run simulation
set.seed(1)
sleep_fit = lmer(model_form, 
data = sleep_df)
model_form2 <- extend(sleep_fit, along="subject", n=20)
model_form2

任何见解都将不胜感激!

在我的脑海中,我能想到两个可能的错误:

  1. 您的subject变量不是指定为整数,而是指定为因子。extend()仅适用于线性变量。然而,由于您用一个已知有效的例子重现了错误,我认为我们可以忽略这一点
  2. 问题不在于数据,而在于你的R会话。例如,如果在simr之后加载另一个包,该包具有一个也称为extend()的函数,则函数simr::extend()将被第二个包屏蔽。当您加载包时,这应该会显示出来,终端中会打印出类似The following object is masked from 'package:simr'的消息。要解决此问题,请在要使用此函数时指定simr::extend(),或者更改加载包的顺序

希望这能有所帮助。

最新更新