# See Zeger and Qaqish (1988)
interspike = c(68, 41, 82, 66, 101, 66, 57, 41, 27, 78,
59, 73, 6, 44, 72, 66, 59, 60, 39, 52,
50, 29, 30, 56, 76, 55, 73, 104, 104, 52,
25, 33, 20, 60, 47, 6, 47, 22, 35, 30,
29, 58, 24, 34, 36, 34, 6, 19, 28, 16,
36, 33, 12, 26, 36, 39, 24, 14, 28, 13,
2, 30, 18, 17, 28, 9, 28, 20, 17, 12,
19, 18, 14, 23, 18, 22, 18, 19, 26, 27,
23, 24, 35, 22, 29, 28, 17, 30, 34, 17,
20, 49, 29, 35, 49, 25, 55, 42, 29, 16)
spikenum = seq(interspike)
bvalue = 0.1 # .Machine$double.xmin # Boundary value
fit = vglm(interspike ~ 1, trace=TRUE,
garma("loge", earg=list(bvalue=bvalue), p=2, coef=c(4,.3,.4)))
summary(fit)
coef(fit, matrix=TRUE)
Coef(fit) # A bug here
plot(interspike, ylim=c(0,120), las=1, font=1, xlab="Spike Number",
ylab="Inter-Spike Time (ms)", col="blue")
lines(spikenum[-(1:fit@misc$plag)], fitted(fit), col="green")
abline(h=mean(interspike), lty=2)
Run the code above in your browser using DataLab