2014-09-20 95 views
2

我正在使用R中的混合模型(glmmadmb)計數數據。我有一個隨機因素(地點)和一個固定因素(人居)。固定因素有兩個層次,隨機因素有七個層次。我想在七個隨機因子水平中的每一個水平上對固定因子的兩個水平進行比較。但是我不知道如何在R中做到這一點。我對R非常陌生。任何人都可以幫助我嗎?非常感謝。廣義線性混合模型中的事後檢驗:怎麼辦?

這是我在分散的數據GLMM公式:

model<-glmmadmb(Species.abundance~Habitat(1|Locality:Habitat), 
        data=data,family='nbinom1') 

我想它只是「人居」,但它顯然是不採取局部性考慮:

summary(glht(model,linfct=mcp(Habitat='Tukey'))) 

Simultaneous Tests for General Linear Hypotheses 

Multiple Comparisons of Means: Tukey Contrasts 


Fit: glmmadmb(formula = Species.abundance ~ Habitat + (1 | Locality:Habitat), 
    data = data, family = "nbinom1") 

Linear Hypotheses: 
        Estimate Std. Error z value Pr(>|z|) 
Fynbos - Forest == 0 -0.2614  0.2010 -1.301 0.193 
(Adjusted p values reported -- single-step method) 

回答

0

我可能只是在每個地區內單獨進行測試,如果您願意,可以進行多重比較校正。從plyr功能很方便,但不是必需的,要做到這一點,像

library(plyr) 
library(glmmADMB) 
model.list <- dlply(data,"Locality",glmmadmb, 
        formula=Species.abundance~Habitat, 
        family="nbinom1") 
p.vals <- laply(model.list,function(x) coef(summary(x))[2,"Pr(>|z|)"]) 
p.adjust(pvals) 

(我不能保證這實際工作,因爲你沒有給重複的例子,我不能打擾發明一個......)

+2

'laply'是一個plyr函數。將列表作爲第一個參數並返回一個數組(或矩陣)。 – 2014-09-21 10:40:29