当使用glmulti包来拟合多个嵌套模型时,我想传递一个因子的参考值(x2:“A”,“B”)。当拟合正常的glm时,我会使用relevel(x1,"B")
。这在glmulti中不起作用,其中候选变量作为文本传递。
我的尝试:
multimodel<- glmulti(y="response", xr= c("x1", "relevel(x2,'A')", "x3", "x4"),
data=mydata, level=2, method="g", crit="aicc")
错误讯息:
Initialization...
Error in .subset2(x, i, exact = exact) :
attempt to select less than one element
有关如何解决此问题的任何建议?
答案 0 :(得分:0)
没关系。我刚刚意识到,因子的重新排序可以在分析之前直接在数据框中完成mydata$x2<- relevel(mydata$x2,"B")
,这完全消除了我对glmulti的具体问题。在发布Q之前,我懒得发现这个。
原始调用也可以作为普通的glm,这也消除了问题:
multimodel<- glmulti(response ~ x1 + relevel(x2,"A") + x3 + x4,
data=mydata, level=2, crit="aicc")