Nothing
cat("# poisson test\n")
library("qgcomp")
# grouped survival data
N = 250
t = 4
dat <- data.frame(row.names = 1:(N*t))
dat <- within(dat, {
group = do.call("c", lapply(1:N, function(x) rep(x, t)))
age = do.call("c", lapply(1:N, function(x) 1:t))
u = do.call("c", lapply(1:N, function(x) rep(runif(1), t)))
x1 = rnorm(N, u)
x2 = do.call("c", lapply(1:N, function(x) rep(sample(0:3,1), t)))
time = runif(N*t, 20, 200)
logtime = log(time)
lograte = -5 + x1
deaths = rpois(N, exp(log(time) + lograte))
})
summary(glm(deaths ~ x2, data = dat, family=poisson(), offset = logtime))$coefficients
res = qgcomp.noboot(deaths~x2 + offset(logtime), expnms="x2", data = dat, family=poisson(), q=NULL)
res = qgcomp.noboot(deaths~x2+x1 + offset(logtime), expnms=c('x1', "x2"), data = dat, family=poisson(), q=4)
summary(res)
res = qgcomp.noboot(deaths~x2+x1 + offset(logtime), expnms=c('x1', "x2"), data = dat, family=quasipoisson(), q=4)
# error by scoping for using the offset parameter
#qgcomp.noboot(deaths~x2, expnms="x2", data = dat, family=poisson(), q=4, offset = logtime)
# this doesn't fail, doesn't give correct intercept (offset is forgotten) and
# variance looks wrong
#qgcomp.boot(deaths~x2 + offset(logtime), expnms="x2", data = dat, family=poisson(), parallel=TRUE,
# q=NULL, B=500, MCsize = 1000)
# matching bootstrapped with non-bootstrapped version
dgm <- function(N){
dat <- data.frame(id=1:N)
dat <- within(dat, {
u = 0
x1 = runif(N)*4 + u
x2 = runif(N)*4 + u
x3 = runif(N)*4 + u
x4 = runif(N)*4 + u
x5 = runif(N)*4 + u
x6 = runif(N)*4 + u
y = rpois(N, exp(-5+.3*x1+.3*x2))
})
dat[,c('y', paste0("x", 1:6))]
}
Xnm = c(paste0("x", 1:6))
dat = dgm(200)
m1 = qgcomp.noboot(y~., expnms=Xnm, data = dat, family=gaussian(), q=4)
m1a = qgcomp(y~., expnms=Xnm, data = dat, family=gaussian(), q=4)
print(coef(m1), digits=10)
#' \dontrun{
#' m1 = qgcomp.noboot(y~., expnms=Xnm, data = dat, family=poisson(), q=4)
#' m2 = qgcomp.boot( y~., expnms=Xnm, data = dat, family=poisson(), q=4, B=5, parallel=TRUE, MCsize = 50)
#' print(coef(m1), digits=10)
#' print(coef(m2$msmfit), digits=10)
#'
#'
#' repit <- function(i){
#' dat = dgm(1000)
#' m1 = qgcomp.noboot(y~., expnms=Xnm, data = dat, family=poisson(), q=4)
#' m2 = qgcomp.boot( y~., expnms=Xnm, data = dat, family=poisson(), q=4, B=5, parallel=TRUE, MCsize = 100000)
#' res = c(m1$coef, m1$var.coef, 1*(m1$pval>0.05), with(m1, ci.coef[1]<2 & ci.coef[2]>2), m2$coef, m2$var.coef, 1*(m2$pval>0.05), with(m2, ci.coef[2,1]<2 & ci.coef[2,2]>2))
#' names(res) <- c("psiint", "psi", "varint", "var", "powint", "pow", "cover", "b.psiint", "b.psi", "b.varint", "b.var", "b.powint", "b.pow", "b.cover")
#' res
#' }
#'
#'
#' #res = mclapply(1:1000, repit)
#' res = lapply(1:2, repit)
#' res = simplify2array(res)
#'
#' # equality within toleraance
#' stopifnot(all.equal(res["psiint",],res["b.psiint",], tolerance=sqrt(0.01)))
#' stopifnot(all.equal(res["psi",],res["b.psi",], tolerance=sqrt(0.01)))
#'
#'
#' # bootstrap and regular variance good
#' repit2 <- function(i){
#' dat = dgm(500)
#' m1 = qgcomp.noboot(y~., expnms=c("x1", "x2"), data = dat, family=poisson(), q=4)
#' m2 = qgcomp.boot( y~., expnms=c("x1", "x2"), data = dat, family=poisson(), q=4, B=5, parallel=TRUE, MCsize = 1000)
#' res = c(m1$coef, m1$var.coef, 1*(m1$pval>0.05), with(m1, ci.coef[1]<2 & ci.coef[2]>2), m2$coef, m2$var.coef, 1*(m2$pval>0.05), with(m2, ci.coef[2,1]<2 & ci.coef[2,2]>2))
#' names(res) <- c("psiint", "psi", "varint", "var", "powint", "pow", "cover", "b.psiint", "b.psi", "b.varint", "b.var", "b.powint", "b.pow", "b.cover")
#' res
#' }
#'
#' #res = lapply(1:500, repit2)
#' #res = simplify2array(res)
#'
#'
#' #stopifnot(all.equal(res["var",],res["b.var",], tolerance=sqrt(0.01)))
#'
#' }
cat("done")
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.