run_full_glmeiv_given_pilot_params: Run full GLM-EIV given pilot estiamtes

View source: R/full_em_algo_functs.R

run_full_glmeiv_given_pilot_paramsR Documentation

Run full GLM-EIV given pilot estiamtes

Description

Run full GLM-EIV given pilot estiamtes

Usage

run_full_glmeiv_given_pilot_params(
  m,
  g,
  m_fam,
  g_fam,
  pi_guess,
  m_intercept_guess,
  m_perturbation_guess,
  m_covariate_coefs_guess,
  g_intercept_guess,
  g_perturbation_guess,
  g_covariate_coefs_guess,
  covariate_matrix,
  m_offset,
  g_offset,
  ep_tol = 1e-05,
  max_it = 75,
  use_mrna_modality = TRUE
)

Arguments

m

mRNA counts

g

gRNA counts

m_fam

family describing m

g_fam

family describing g

pi_guess

pilot guess for pi

m_intercept_guess

pilot guess for m_intercept

m_perturbation_guess

pilot guess for m_perturbation

m_covariate_coefs_guess

pilot guess for m_covariate_coefficients

g_intercept_guess

pilot guess for g_intercept

g_perturbation_guess

pilot guess for g_perturbation

g_covariate_coefs_guess

pilot guess for g_covariate_coefs

covariate_matrix

the matrix of covariates; NULL if there are no covariates.

m_offset

offsets for m

g_offset

offsets for g

ep_tol

(optional) EM convergence threshold

max_it

(optional) maximum number of EM iterations

Value

the fitted GLM-EIV object.

Examples

set.seed(4)
m_fam <- g_fam <- augment_family_object(poisson())
n <- 5000
lib_size <- rpois(n = n, lambda = 5000)
m_offsets <- g_offsets <- log(lib_size)
pi <- 0.3
m_intercept <- log(0.05)
m_perturbation <- log(0.75)
g_intercept <- log(0.025)
g_perturbation <- log(1.4)
covariate_matrix <- data.frame(batch = rbinom(n = n, size = 1, prob = 0.5))
m_covariate_coefs <- log(0.9)
g_covariate_coefs <- log(1.1)
dat <- generate_full_data(m_fam = m_fam, m_intercept = m_intercept,
m_perturbation = m_perturbation, g_fam = g_fam, g_intercept = g_intercept,
g_perturbation = g_perturbation, pi = pi, n = n, B = 2,
covariate_matrix = covariate_matrix, m_covariate_coefs = m_covariate_coefs,
g_covariate_coefs = g_covariate_coefs, m_offset = m_offsets, g_offset = g_offsets)[[1]]
m <- dat$m
g <- dat$g
fit <- run_full_glmeiv_given_pilot_params(m = m, g = g, m_fam = m_fam, g_fam = g_fam,
pi_guess = 0.15, m_intercept_guess = log(0.1), m_perturbation_guess = log(1),
m_covariate_coefs_guess = log(1.4), g_intercept_guess = log(0.05),
g_perturbation_guess = log(1.4), g_covariate_coefs_guess = log(1.2),
covariate_matrix = covariate_matrix, m_offset = m_offsets, g_offset = g_offsets)

timothy-barry/glmeiv documentation built on Jan. 30, 2024, 3:46 p.m.