(R MuMIn)挖泥函数子集化错误

时间:2016-02-09 09:33:55

标签: r mumin

我试图使用相关矩阵作为MuMIn(R)中dredge()的“子集”参数选择变量。

我的问题正如this unresolved post中所述: 我运行一个模型fm1 *,并使用dredge来测试所有变量组合。为了排除某些组合,我按照dredge.subset demo中描述的方法使用子集矩阵sub1。

> sub1
       X1    X2    X3    X4    X5    X6    X7    X8    X9  X10  
X1     NA    NA    NA    NA    NA    NA    NA    NA    NA   NA 
X2   TRUE    NA    NA    NA    NA    NA    NA    NA    NA   NA  
X3  FALSE FALSE    NA    NA    NA    NA    NA    NA    NA   NA
X4  FALSE FALSE  TRUE    NA    NA    NA    NA    NA    NA   NA
X5  FALSE FALSE FALSE FALSE    NA    NA    NA    NA    NA   NA 
X6  FALSE FALSE FALSE FALSE  TRUE    NA    NA    NA    NA   NA
X7   TRUE FALSE  TRUE FALSE FALSE  TRUE    NA    NA    NA   NA
X8  FALSE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE    NA    NA   NA 
X9   TRUE  TRUE  TRUE  TRUE FALSE  TRUE FALSE FALSE    NA   NA
X10  TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE FALSE  TRUE   NA 

最多可以使用9个变量;我发现错误消息:

> form
N ~ X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 + X10
> fm1<-glm(form,data=dfmod)
> ms1<-pdredge(fm1,subset=sub1,cluster=clust) 
Warning message: In pdredge(fm1, subset = sub1, cluster = clust) :
non-missing values exist outside the lower triangle of 'subset'

事实并非如此,如下所示:

     any(!is.na(sub1[!lower.tri(sub1)]))
     [1] FALSE

除警告外,模型选择表还包括相关矩阵不允许的变量集。

我确实找到了一种解决方法,将矩阵sub1转换为逻辑表达式,然后作为子集条件正常工作。但了解矩阵的情况会很有趣。

*请注意,glm和glmer

会发生同样的情况

0 个答案:

没有答案
相关问题