p_ndfa_nonconstant function

Normal Discriminant Function Approach for Estimating Odds Ratio with Exposure Measured in Pools and Potentially Subject to Additive Normal Errors (Non-constant Odds Ratio Version)

Normal Discriminant Function Approach for Estimating Odds Ratio with Exposure Measured in Pools and Potentially Subject to Additive Normal Errors (Non-constant Odds Ratio Version)

Assumes exposure given covariates and outcome is a normal-errors linear regression. Pooled exposure measurements can be assumed precise or subject to additive normal processing error and/or measurement error. Parameters are estimated using maximum likelihood.

p_ndfa_nonconstant(g, y, xtilde, c = NULL, errors = "processing", start_nonvar_var = c(0.01, 1), lower_nonvar_var = c(-Inf, 1e-04), upper_nonvar_var = c(Inf, Inf), jitter_start = 0.01, nlminb_list = list(control = list(trace = 1, eval.max = 500, iter.max = 500)), hessian_list = list(method.args = list(r = 4)), nlminb_object = NULL)

Arguments

  • g: Numeric vector of pool sizes, i.e. number of members in each pool.

  • y: Numeric vector of poolwise Y values (number of cases in each pool).

  • xtilde: Numeric vector (or list of numeric vectors, if some pools have replicates) with Xtilde values.

  • c: Numeric matrix with poolwise C values (if any), with one row for each pool. Can be a vector if there is only 1 covariate.

  • errors: Character string specifying the errors that X is subject to. Choices are "neither", "processing" for processing error only, "measurement" for measurement error only, and "both".

  • start_nonvar_var: Numeric vector of length 2 specifying starting value for non-variance terms and variance terms, respectively.

  • lower_nonvar_var: Numeric vector of length 2 specifying lower bound for non-variance terms and variance terms, respectively.

  • upper_nonvar_var: Numeric vector of length 2 specifying upper bound for non-variance terms and variance terms, respectively.

  • jitter_start: Numeric value specifying standard deviation for mean-0 normal jitters to add to starting values for a second try at maximizing the log-likelihood, should the initial call to nlminb result in non-convergence. Set to NULL for no second try.

  • nlminb_list: List of arguments to pass to nlminb

    for log-likelihood maximization.

  • hessian_list: List of arguments to pass to hessian for approximating the Hessian matrix. Only used if estimate_var = TRUE.

  • nlminb_object: Object returned from nlminb in a prior call. Useful for bypassing log-likelihood maximization if you just want to re-estimate the Hessian matrix with different options.

Returns

List containing:

  1. Numeric vector of parameter estimates.
  2. Variance-covariance matrix.
  3. Returned nlminb object from maximizing the log-likelihood function.
  4. Akaike information criterion (AIC).

References

Lyles, R.H., Van Domelen, D.R., Mitchell, E.M. and Schisterman, E.F. (2015) "A discriminant function approach to adjust for processing and measurement error When a biomarker is assayed in pooled samples." Int. J. Environ. Res. Public Health 12 (11): 14723--14740.

Schisterman, E.F., Vexler, A., Mumford, S.L. and Perkins, N.J. (2010) "Hybrid pooled-unpooled design for cost-efficient measurement of biomarkers." Stat. Med. 29 (5): 597--613.

  • Maintainer: Dane R. Van Domelen
  • License: GPL-3
  • Last published: 2020-02-13

Useful links