Discriminant Function Approach for Estimating Odds Ratio with Normal Exposure Measured in Pools and Potentially Subject to Errors
Discriminant Function Approach for Estimating Odds Ratio with Normal Exposure Measured in Pools and Potentially Subject to Errors
Archived on 7/23/18. Please use p_ndfa instead.
p_dfa_xerrors(g, y, xtilde, c =NULL, constant_or =TRUE, errors ="both",...)
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.
constant_or: Logical value for whether to assume a constant OR for X, which means that sigsq_1 = sigsq_0. If NULL, model is fit with and without this assumption, and likelihood ratio test is performed to test it.
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".
...: Additional arguments to pass to nlminb.
Returns
List of point estimates, variance-covariance matrix, object returned by nlminb, and AIC, for one or two models depending on constant_or. If constant_or = NULL, also returns result of a likelihood ratio test for H0: sigsq_1 = sigsq_0, which is equivalent to H0: log-OR is constant. If constant_or = NULL, returned objects with names ending in 1 are for model that does not assume constant log-OR, and those ending in 2 are for model that assumes constant log-OR.
Examples
# Load dataset containing poolwise (Y, Xtilde, C) values for pools of size# 1, 2, and 3. Xtilde values are affected by processing error.data(pdat1)# Estimate log-OR for X and Y adjusted for C, ignoring processing errorfit1 <- p_dfa_xerrors(g = pdat1$g, y = pdat1$numcases, xtilde = pdat1$xtilde, c = pdat1$c, errors ="neither")fit1$estimates
# Repeat, but accounting for processing error. Closer to true log-OR of 0.5.fit2 <- p_dfa_xerrors(g = pdat1$g, y = pdat1$numcases, xtilde = pdat1$xtilde, c = pdat1$c, errors ="processing")fit2$estimates
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.