I have some categorical data showing plant family, fruit type, fruit colour, and seed dispersal, where the response variable (Dispersal) is either 0 for no or 1 for yes.
test1.3
FAMILY FRUIT_TYPE COLOUR_RF Dispersal
3 Erythroxylaceae D R 1
4 Lamiaceae D G 1
8 Clusiaceae D Y 1
12 Clusiaceae D Y 1
16 Myrtaceae D R 1
19 Rubiaceae D R 0
22 Anacardiaceae D Br 1
25 Melastomataceae D R 1
29 Moraceae F Y 1
32 Moraceae F Br 1
35 Fabaceae C Br 1
37 Lauraceae D PG 1
39 Sapindaceae D Br 1
41 Myrtaceae D R 1
43 Moraceae D G 1
45 Clusiaceae D Y 1
51 Moraceae F Y 1
52 Lauraceae D R 0
54 Rubiaceae D Y 0
57 Euphorbiaceae D PY 0
75 Dichapetalaceae D Y 1
83 Moraceae F R 1
86 Myrtaceae D Y 1
91 Solanaceae D Y 1
94 Myrsinaceae D Y 1
98 Connaraceae D O 1
101 Ochnaceae C R 1
104 Proteaceae D Br 0
107 Clusiaceae D R 1
114 Clusiaceae D P 1
116 Clusiaceae D P 1
119 Smilacaceae D R 1
124 Apocynaceae D Y 1
129 Apocynaceae D Br 1
138 Icacinaceae D Y 0
141 Moraceae D Y 1
144 Myrsinaceae D R 0
147 Pittosporaceae D O 1
150 Sapindaceae C O 1
154 Fabaceae C Y 1
158 Aphloiaceae C W 1
169 Celastraceae D O 1
176 Oleaceae D P 0
179 Rubiaceae D Y 0
182 Meliaceae D R 0
186 Apocynaceae C PY 1
188 Salicaceae D R 1
192 Burseraceae D Br 0
195 Araceae D Y 0
198 Rubiaceae D P 1
202 Rutaceae D O 1
206 Torrecilliaceae D PY 0
214 Arecaceae D PY 1
220 Rutaceae D PY 0
223 Rubiaceae D DR 0
230 Rubiaceae D B 0
237 Clusiaceae D Y 1
244 Myrsinaceae D R 1
247 Melastomataceae D R 0
250 Aquifoliacea D R 1
260 Marsaceae D W 1
263 Vitaceae D DR 0
266 Lamiaceae D B 0
278 Hypericaceae D O 1
281 Cannelaceae D Y 0
283 Rubiaceae D R 1
289 Sapotaceae D Br 1
293 Lauraceae D R 0
343 Sapindaceae D O 0
344 Lauraceae D P 0
362 Clusiaceae D Gr 1
366 Anacardiaceae D Br 1
370 Lauraceae D P 1
374 Lauraceae D R 0
399 Lauraceae D R 0
405 Lauraceae D R 0
I am performing binomial GLMs and am using the MuMIn package to 'dredge' a global model.
Global<-glm(Dispersal~FAMILY+COLOUR_RF+FRUIT_TYPE+COLOUR_RF*FRUIT_TYPE+COLOUR_RF*FAMILY, family=binomial(link="logit"), na.action="na.fail", data=test1.3)
When I try to plot the most significant model based on AICc weight (as I have done many times before with other iterations), I get the warning error:
library(MuMIn)
x<-dredge(Global)
Fixed term is "(Intercept)"
Warning messages:
1: glm.fit: fitted probabilities numerically 0 or 1 occurred
2: glm.fit: fitted probabilities numerically 0 or 1 occurred
3: glm.fit: fitted probabilities numerically 0 or 1 occurred
4: glm.fit: fitted probabilities numerically 0 or 1 occurred
5: glm.fit: algorithm did not converge
6: glm.fit: fitted probabilities numerically 0 or 1 occurred
7: glm.fit: fitted probabilities numerically 0 or 1 occurred
8: glm.fit: fitted probabilities numerically 0 or 1 occurred
9: glm.fit: fitted probabilities numerically 0 or 1 occurred
par(mfrow=c(1,1))
par(mar = c(5,5,14,5))
plot(subset(x, delta <2), labAsExpr = T, xlab=c("Predictor Variables for 'P. edwardsi' Dispersal"), ylab=c(expression(paste("Model Number by Cumulative Akaike Weight ", (omega) ))))
"Error in pal[, 1L + ((i - 1L)%%npal)] : incorrect number of dimensions"
Does anyone know why this is occurring? I have used the same code for many other iterations (i.e. changing the response variable) and have had no previous issues.
This is the output of the top of the str() call on the object you are sending to plot()
:
> xsub <- subset(x, delta <2)
> str(xsub)
Classes ‘model.selection’ and 'data.frame': 1 obs. of 11 variables:
$ (Intercept) : num 17.6
$ COLOUR_RF : Factor w/ 1 level "+": NA
$ FAMILY : Factor w/ 1 level "+": NA
$ FRUIT_TYPE : Factor w/ 1 level "+": 1
$ COLOUR_RF:FAMILY : Factor w/ 1 level "+": NA
$ COLOUR_RF:FRUIT_TYPE: Factor w/ 1 level "+": NA
$ df : int 3
$ logLik : num -44.3
$ AICc : num 94.8
$ delta : num 0
$ weight : num 1
I suspect you have simply made a restrictive call that doesn't provide as much information as needed for the plotting function to do any useful work. Using subset(x, delta <5)
succeeds.