我使用gamm
与betar分布分别拟合2个模型,然后尝试在model.sel
包中使用MuMIn
来构建模型选择表。如下所示,model.sel
会遇到错误。
>m1<-gamm(y ~ x1+ (x2, k=5), family=betar(link="logit"),random=list(Time=~1), data=myData)
>m2<-gamm(y ~ x4+ (x5, k=5), family=betar(link="logit"),random=list(Time=~1), data=myData)
>model.sel(m1,m2)
Error in get(x) : object 'Beta regression' not found
我很聪明,我可以在dredge
内简单地运行它们,但在将它们组合到上面的模型选择之前,我宁愿单独使用它们。
答案 0 :(得分:1)
目前$products=array(378,356);
wdm_get_tags($products);
不能使用&#34; extended.family&#34;来自 mgcv 。作为临时解决方法,您应该将姓氏命名为可调用函数的名称(例如model.sel
),因此如果gaussian()$family == "gaussian"
将是:
betar
如果您使用其他类型的&#34; extended.family&#34;,您可以使用该功能为您执行上述操作:
`Beta regression` <- betar
示例:
workaroundExtendedFamily <-
function(family.function, family.object = family.function(...), ...) {
ff <- sub("\\(.*", "", family.object$family)
if(!exists(ff, parent.frame())) assign(ff, family.function, parent.frame())
}