2017-04-10 131 views
0

我正在使用R中的GLM對數據集進行統計分析。基本上,預測變量爲:「探針」(實驗中使用的探針類型 - 具有4個級別的因子),「提取」(實驗中使用的提取類型 - 具有2個等級的因子),「罐」(收集樣品的罐號 - 從1到9的整數)和「稀釋」樣品號碼:3.125,6.25,12.5,25,50,100)。響應是從多次重複實驗(「Rep」)獲得的正面響應(「正面」)的數量。我想,以評估的積極響應數量所有預測變量(以及它們之間的相互作用)的效果,所以我試圖適應GLM模型是這樣的:如何在R中的GLM中將變量作爲隨機因子處理

y<-cbind(mydata$Positive,mydata$Rep - mydata$Positive) 
model1<-glm(y~Probe*Extraction*Dilution*Tank, family=quasibinomial, data=mydata) 

但我後來被我的上司告知, 「坦克」預測變量不應被視爲基於級別的變量。即它的值爲1到9,但它只是罐的標籤,所以1和7之間的差異並不重要。將這個變量作爲因子處理只會產生一個結果不好的大型模型。那麼如何將「Tank」變量作爲一個隨機因素對待並將其包含在GLM中呢?

謝謝

回答

1

它被稱爲「混合效應模型」。看看lme4包裝。

library(lme4) 
glmer(y~Probe + Extraction + Dilution + (1|Tank), family=quasibinomial, data=mydata) 

此外,你應該使用+而不是*添加因素。 *包括每個因素的所有交互和級別,這將導致巨大的過度擬合模型。除非您有特定的理由相信存在交互,否則您應該明確地編寫該交互。

+0

謝謝我會檢查出來。是的,我使用*是因爲我想測試所有參數之間的所有交互,並查看哪一個是重要的。經過一些刪除測試後,只剩下3個重要的相互作用項。但我不確定哪一個是在開始,所以我不得不使用* –

+0

嗨,我試過你的解決方案,但是,「準」不能在'glmer'中使用。運行代碼後出現此錯誤lme4 :: glFormula中的錯誤(公式= y〜Probe + Extraction + Dilution +: 「準」系列不能在glmer中使用 –

+0

由於我的數據中存在過度分散,我需要準。有沒有辦法在lme4包中克服/處理這個問題? –