[R] bigglm (but not glm) error with poisson distribution
Miki Bálint
balint.miki at gmail.com
Thu Dec 6 16:53:30 CET 2012
Dear All,
I am trying to fit a generalized linear model with bigglm() (v. 0.8) on
a large dataset containing many zeros under a poisson distribution (in R
2.15.0, 64 bit Ubuntu 12.04). The bigglm() call gives an error message
(NA/NaN/Inf in foreign function call (arg 3)). If I understand
correctly, this may result from a log(0). However, the corresponding
glm() call works without problems. I would be very grateful for
suggestions solving this problem - the original datafile is too big for
fitting a model with glm().
This should reproduce the error with a small dataset:
library(biglm)
library(RCurl)
expand.abund=read.csv(textConnection(getURL("http://dl.dropbox.com/u/48351148/expand_abund.csv")),row.names=1)
dim(expand.abund) ## [1] 924 3
head(expand.abund)
## Var1 Var2 Reads
## 1 f00boy01a OTU_25174 944
## 2 f00boy05b OTU_25174 1105
otu.bigglm <- bigglm(Reads ~ Var2, data=expand.abund, family=poisson())
## Error in coef.bigqr(object$qr) :
## NA/NaN/Inf in foreign function call (arg 3)
traceback()
## 11: .Fortran("regcf", as.integer(p), as.integer(p * p/2), bigQR$D,
## bigQR$rbar, bigQR$thetab, bigQR$tol, beta = numeric(p), nreq
= as.integer(nvar),
## ier = integer(1), DUP = FALSE)
## 10: coef.bigqr(object$qr)
## 9: coef(object$qr)
## 8: coef.biglm(iwlm)
## 7: coef(iwlm)
## 6: bigglm.function(formula = formula, data = datafun, ...)
## 5: bigglm(formula = formula, data = datafun, ...)
## 4: bigglm(formula = formula, data = datafun, ...)
## 3: bigglm.data.frame(Reads ~ Var2, data = expand.abund, family =
poisson())
## 2: bigglm(Reads ~ Var2, data = expand.abund, family = poisson())
## 1: bigglm(Reads ~ Var2, data = expand.abund, family = poisson())
otu.glm <- glm(Reads ~ Var2, data=expand.abund, family=poisson())
summary(otu.glm, dispersion=c(otu.glm$deviance/otu.glm$df.residual))
Thank you,
Miklos Balint
More information about the R-help
mailing list