Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R MuMIn model.avg()-相对重要性不适用于粘贴公式_R_Mumin - Fatal编程技术网

R MuMIn model.avg()-相对重要性不适用于粘贴公式

R MuMIn model.avg()-相对重要性不适用于粘贴公式,r,mumin,R,Mumin,我尝试将MuMIn的model.avg函数与粘贴的模型公式一起使用,并使用索引而不是直接输入,例如: m1<-gls(as.formula(paste(response,"~",paste(combns[,j], collapse="+"))), data=dat) modelslist[[1]]$call$model modelslist[[7]]$call$model 这导致相对变量重要性如下所示: Relative variable importance:

我尝试将MuMIn的model.avg函数与粘贴的模型公式一起使用,并使用索引而不是直接输入,例如:

m1<-gls(as.formula(paste(response,"~",paste(combns[,j], collapse="+"))), data=dat)
modelslist[[1]]$call$model
modelslist[[7]]$call$model
这导致相对变量重要性如下所示:

Relative variable importance: 
                     day_of_season foliage_height_diversity hour_of_day
Importance:          1             1                        1          
N containing models: 6             6                        6          
                     median_patch_size pct_grey_cover     tree_shannon_diversity
Importance:          1                 1              1                     
N containing models: 6                 6              6                     
                     urban_boundary_distance
Importance:          1                      
N containing models: 6  
然而,如果我在相同的模型上使用model.avg,并单独键入公式,我会得到以下正确的输出:

Component models: 
        df  logLik   AICc delta weight
23456    7 -233.08 481.43  0.00   0.59
1        3 -237.97 482.21  0.78   0.40
57       4 -241.32 491.08  9.65   0.00
1234567  9 -241.15 502.39 20.96   0.00
1467     6 -248.37 509.68 28.25   0.00
147      5 -250.22 511.11 29.68   0.00

Relative variable importance: 
                     pct_grey_cover median_patch_size tree_shannon_diversity
Importance:            0.6           0.59              0.59                 
N containing models:     3              4                 3                 
                      foliage_height_diversity hour_of_day day_of_season
Importance:           0.59                     0.59         0.4        
N containing models:     2                        2           4        
                     urban_boundary_distance
Importance:          <0.01                  
N containing models:     4  
组件模型:
df logLik AICc增量重量
23456    7 -233.08 481.43  0.00   0.59
1        3 -237.97 482.21  0.78   0.40
57       4 -241.32 491.08  9.65   0.00
1234567  9 -241.15 502.39 20.96   0.00
1467     6 -248.37 509.68 28.25   0.00
147      5 -250.22 511.11 29.68   0.00
相对变量重要性:
pct\u灰色\u覆盖中值\u斑块\u大小树\u香农\u多样性
重要性:0.6 0.59 0.59
N含模型:3 4 3
叶高多样性时数季节日数
重要性:0.590.590.4
N含模型:2 4
城市边界距离

重要性:这是
gls
公式方法(在包
nlme
中)中的一个错误。由于实际公式不存储在对象中的任何位置,因此它在函数调用中计算
“model”
参数。对于
模型列表
的元素,它们都是相同的,例如:

m1<-gls(as.formula(paste(response,"~",paste(combns[,j], collapse="+"))), data=dat)
modelslist[[1]]$call$model
modelslist[[7]]$call$model
两者都返回

> formula(paste(response, "~", paste(combns[, j], collapse = "+")))
eval
评估时,使用
j
的当前(最后)值,以便所有
公式(modelist[[N]])
返回最后一个模型公式

 all.equal(formula(modelslist[[1]]), formula(modelslist[[7]]))
返回

> TRUE
也就是说,所有这些都混淆了使用公式构建模型选择表的
model.avg
(这是一种退步,因为
gls
也缺少
术语)

编辑:可能的解决方法

获得您想要的更简单的方法:

model.avg(dredge(..., m.lim = c(6,6)))
或者,如果要进行预测:

modellist <- lapply(dredge(..., m.lim = c(6,6), evaluate = FALSE), eval)

我们能有一个可复制的例子吗@BenBolker-抱歉,我花了一段时间才弄到一个,因为问题并不是我想的那样,wasHello,我和gls和nlme有同样的问题@Kamil Barton,我尝试了您的解决方法:
model.avg(疏通(…,m.lim=c(6,6)),但得到了以下错误:lme.formula中的错误(修复=响应~a+c+c+a:b+:未使用的参数(m.lim=c(6,6))
m.lim
参数是在哪里创建的?另外,如果您想在gls中包含
weights
参数怎么办?这不包括在“predictors”变量中?@LiveLongandProsper关于错误,请检查您的代码是否有拼写错误。至于问题,请更具体一些。
model1“这是gls(在包nlme中)的公式方法中的一个错误。”“你知道是否已提交错误报告?如果是,可能这已经由包创建者修复了?@LiveLongandProsper:
m.lim
druge
而不是
model.avg
的参数。
modellist <- lapply(dredge(..., m.lim = c(6,6), evaluate = FALSE), eval)
combns <- combn(1:7, 6)
modellist <- vector("list", 7)
for (j in 1:7) {
    f <- reformulate(predictors[combns[, j]], response = response)
    fm <- gls(f, data = dat)
    fm$call$model <- f # assign the actual formula
    modellist[[j]] <- fm
}