Algunas estrategias estándar incluyen modelos de regresión censurados como el tobit (gaussiano censurado por cero) o modelos hurdle continuos (que combinan un modelo binario y otro truncado por cero). Especialmente si el número de no ceros no es tan grande, utilizar sólo el modelo binario (0 frente a mayor) también podría ser un buen primer paso.
En su caso, la cuestión es si su conjunto de datos es realmente mayor que el que se presenta aquí. Si se trata de los datos completos, entonces no tiene mucho sentido analizar el tipo B porque ambas variables de respuesta son sólo cero y no varían en absoluto.
d <- read.table(textConnection("type intact bury
B 0 0
B 0 0
B 0 0
B 0 0
B 0 0
B 0 0
M 0.375 0
M 0.05 0
M 0 0
M 0 0
M 0 0.025
M 0.033333333 0
M 0 0.025
M 0 0.025
S 0.025 0
S 0 0
S 0 0.011111111
S 0.166666667 0
S 0 0.033333333
S 0.188888889 0.044444444
S 0 0
S 0 0.02
S 0 0
S 0 0"), header = TRUE)
Como primer paso, se podría examinar la proporción de no ceros y ceros en los tres tipos:
plot(factor(intact == 0) ~ type, data = d)
plot(factor(bury == 0) ~ type, data = d)
Esto resume bastante bien la historia: B es sólo cero y para M y S la proporción de no zeros es de alrededor del 30-40%. Para analizar la diferencia entre M y S, podemos restringir los datos y utilizar un modelo probit simple:
d2 <- subset(d, type != "B")
d2$type <- factor(d2$type)
m1 <- glm(factor(intact > 0) ~ type, data = d2,
family = binomial(link = "probit"))
summary(m1)
## Call:
## glm(formula = factor(intact > 0) ~ type, family = binomial(link = "probit"),
## data = d2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -0.9695 -0.9383 -0.8446 1.4006 1.5518
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -0.3186 0.4514 -0.706 0.480
## typeS -0.2058 0.6144 -0.335 0.738
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 22.915 on 17 degrees of freedom
## Residual deviance: 22.802 on 16 degrees of freedom
## AIC: 26.802
##
## Number of Fisher Scoring iterations: 4
La utilización de un modelo tobit (gaussiano con censura cero) en lugar del modelo probit (gaussiano binario) conduce esencialmente a los mismos resultados no significativos y a casi los mismos coeficientes (modulo scaling):
library("AER")
m2 <- tobit(intact ~ type, data = d2)
coef(m1)
## (Intercept) typeS
## -0.3186394 -0.2057611
coef(m2)/m2$scale
## (Intercept) typeS
## -0.3144522 -0.2342246