2016-07-28 15 views
1

ゼロの膨張した負の2項ランダムRでglmmadmb()を使用した効果モデルです。これらはパッケージからのデータを使用するため再現可能です。glmmadmb Rパッケージ: `colnames < - `( `* tmp *`、value = character(0))のprocess_randformula(数式、ランダム、データ=データ)のエラー

試み1:

om1 <- glmmadmb(SiblingNegotiation~FoodTreatment*SexParent+offset(log(BroodSize)), 
       random=(1|Nest), 
       zeroInflation=TRUE,family="nbinom",data=Owls) 

はエラーを与える:

Error in process_randformula(formula, random, data = data) : 
    object 'Nest' not found 

試み2:

om2 <- glmmadmb(SiblingNegotiation~FoodTreatment*SexParent+offset(log(BroodSize)), 
       random="~1|Nest", 
       zeroInflation=TRUE,family="nbinom",data=Owls) 

はエラーを与える:

Error in `colnames<-`(`*tmp*`, value = character(0)) : 
    attempt to set 'colnames' on an object with less than two dimensions 

random引数でこの関数呼び出しを正常に実行するにはどうすればよいですか?

答えて

2

だからあなたの試み2コードから引用符を削除してみてください、random引数を指定して、このモデルに合うように:

om3 <- glmmadmb(SiblingNegotiation~FoodTreatment*SexParent+offset(log(BroodSize)), 
       random=~1|Nest, 
       zeroInflation=TRUE,family="nbinom",data=Owls) 

またはas.formulaと引用符を使用します。

同等である
om4 <- glmmadmb(SiblingNegotiation~FoodTreatment*SexParent+offset(log(BroodSize)), 
       random=as.formula("~1|Nest"), 
       zeroInflation=TRUE,family="nbinom",data=Owls) 

glmmadmb()のヘルプページで、random引数を使用しない例:

om5 <- glmmadmb(SiblingNegotiation~FoodTreatment*SexParent+ 
       (1|Nest)+offset(log(BroodSize)), 
       zeroInflation=TRUE,family="nbinom",data=Owls) 

> identical(om3$fitted, om5$fitted) 
[1] TRUE 
> identical(om4$fitted, om5$fitted) 
[1] TRUE 
> identical(om3$fitted, om4$fitted) 
[1] TRUE 
関連する問題