我有一個三因素關聯表,其中探討了犯罪行爲,偷竊行爲或其他偷竊行爲之間的關聯,性別和先前的定罪以及寬鬆的判刑。寬鬆的參數是這裏的響應變量,是二進制的,1表示接收寬鬆的句子,0表示否則。具有交互作用的三因素邏輯迴歸
Crime Gender Priorconv Yes No
1 Shoplifting Men N 24 1
2 Other Theft Acts Men N 52 9
3 Shoplifting Women N 48 3
4 Other Theft Acts Women N 22 2
5 Shoplifting Men P 17 6
6 Other Theft Acts Men P 60 34
7 Shoplifting Women P 15 6
8 Other Theft Acts Women P 4 3
您可以使用這些命令
table1<-expand.grid(Crime=factor(c("Shoplifting","Other Theft Acts")),Gender=factor(c("Men","Women")),
Priorconv=factor(c("N","P")))
table1<-data.frame(table1,Yes=c(24,52,48,22,17,60,15,4),No=c(1,9,3,2,6,34,6,3))
我一直在試圖運行邏輯迴歸,但很快遇到了麻煩,當我試圖包括我的變量之間的相互作用重新創建表。沒有相互作用,glm完美地工作。我一直在使用的代碼是
fit<-glm(cbind(Yes,No)~Crime+Gender+Priorconv+I(Crime*Priorconv),data=table1,family=binomial)
和錯誤我已經越來越
Error in `contrasts<-`(`*tmp*`, value = contr.funs[1 + isOF[nn]]) :
contrasts can be applied only to factors with 2 or more levels
In addition: Warning message:
In Ops.factor(Crime, Priorconv) : * not meaningful for factors
你能告訴我怎麼來解決這個錯誤?
謝謝
嘗試'犯罪:Priorconv' – 2014-11-03 19:59:16
@ J.R。這很好,謝謝。由於這是正確的做法,請隨時將其張貼爲答案,以便將其標記爲正確的答案。 – JohnK 2014-11-03 20:05:32