binomial_to_bernoulli_data function

Convert binomial data to bernoulli data

Convert binomial data to bernoulli data

Convert binomial data to bernoulli data by expanding dataset.

binomial_to_bernoulli_data( data., y, size, type = c("rest", "total"), response_name = "response", rest_name = NULL )

Arguments

  • data.: A dataframe
  • y: Column with 'successes' in binomial distribution y~bin(size, p)
  • size: Column with 'failures', i.e. size-y or 'total', i.e. size.
  • type: Whether size is rest (i.e. 'failures') or 'total'
  • response_name: Name of response variable in output dataset.
  • rest_name: Name of 'failures' in column response_name.

Examples

dat <- budworm dat <- dat[dat$dose %in% c(1,2), ] dat$ntotal <- 5 dat dat.a <- dat |> binomial_to_bernoulli_data(ndead, ntotal, type="total") dat.b <- dat |> dplyr::mutate(nalive=ntotal-ndead) |> dplyr::select(-ntotal) |> binomial_to_bernoulli_data(ndead, nalive, type="rest") m0 <- glm(cbind(ndead, ntotal-ndead) ~ dose + sex, data=dat, family=binomial()) m1 <- glm(ndead / ntotal ~ dose + sex, data=dat, weight=ntotal, family=binomial()) ma <- glm(response ~ dose + sex, data=dat.a, family=binomial()) mb <- glm(response ~ dose + sex, data=dat.b, family=binomial()) dat.a$response dat.b$response ## Not same and therefore the following do not match all.equal(coef(m0), coef(ma)) all.equal(coef(m0), coef(mb)) all.equal(coef(m1), coef(ma)) all.equal(coef(m1), coef(mb))