Calculate_maxRBA
calculates the maximum residual after baseline-adjustment for each viral strain
Calculate_maxRBA(dat_list, subjectCol = "SubjectID", method = c("exp", "lm"), yMinZero = FALSE, scoreFun = max, discretize = c(0.2, 0.3), normalize = FALSE, scaleResiduals = FALSE, responseLabels = paste0(c("low", "moderate", "high"), "Responder"), na_action = "na.fail", ...)
dat_list | a named list like the one returned by |
---|---|
subjectCol | the name of the column specifying a subject ID. Default is "SubjectID". |
method | a character string specifying the method used to model the relationship between day 0 and fold change values. One of either "lm" for a linear model or "exp" for an exponential model. |
yMinZero | a logical specifying whether fitted y values below 0 should be set to 0. |
scoreFun | a function applied to all (potentially scaled) residuals for each subject to determine the endpoint. Default is |
discretize | a vector of quantiles in (0, 0.5] specifying where to make the cutoff for low, moderate and high responses. Default is 20% and 30%. |
normalize | Logical specifying whether residuals should be normalized with the inverse normal transform. Default is |
scaleResiduals | Logical. Should residuals be scaled inversely by the square of the confidence intervals from the linear model. |
responseLabels | names for low, moderate and high responses |
na_action | how should missing |
... | Additional arguments passed to |
Calculates the baseline-adjusted fold change for each strain of virus
using (unnormalized) fold change and baseline titers. Linear regression or
an exponential curve is used to remove the effect of baseline titers on fold changes.
The score function (scoreFun
) is used to combine the adjusted fold change across
multiple strains.
Missing (NA
) values are handled by being returned as missing in the
endpoints in the output
lm, nls
#>#>## Using a linear fit endpoints <- Calculate_maxRBA(titer_list, method = "lm") summary(endpoints)#> Length Class Mode #> models 3 -none- list #> residualMatrix 207 -none- numeric #> maxRBA 69 -none- numeric #> maxRBA_d20 69 factor numeric #> maxRBA_d30 69 factor numeric## Get discrete endpoints using upper/lower 30% endpoints$maxRBA_d30#> 110191 110192 110193 110194 #> lowResponder lowResponder lowResponder lowResponder #> 110195 110196 110197 110198 #> moderateResponder lowResponder highResponder lowResponder #> 110199 110200 110201 110202 #> lowResponder moderateResponder highResponder moderateResponder #> 110203 110204 110205 110207 #> moderateResponder moderateResponder moderateResponder lowResponder #> 110208 110209 110210 110211 #> lowResponder lowResponder lowResponder highResponder #> 110212 110213 110214 110215 #> lowResponder moderateResponder moderateResponder moderateResponder #> 110216 110241 110242 110243 #> highResponder highResponder moderateResponder lowResponder #> 110244 110245 110247 110248 #> highResponder moderateResponder highResponder lowResponder #> 110250 110251 110252 110253 #> moderateResponder highResponder highResponder moderateResponder #> 110254 110255 110256 110257 #> moderateResponder moderateResponder highResponder highResponder #> 110258 110259 110260 110261 #> moderateResponder highResponder lowResponder moderateResponder #> 110262 110263 110264 110265 #> highResponder moderateResponder lowResponder highResponder #> 110266 110267 110268 110269 #> highResponder highResponder highResponder moderateResponder #> 110270 110271 110272 110273 #> moderateResponder moderateResponder highResponder moderateResponder #> 110274 110275 110276 110277 #> moderateResponder highResponder highResponder highResponder #> 110278 110279 110280 110281 #> lowResponder lowResponder moderateResponder lowResponder #> 110282 110283 110284 110285 #> moderateResponder moderateResponder lowResponder lowResponder #> 110286 #> moderateResponder #> Levels: lowResponder moderateResponder highResponder## Get endpoints with a 50% split into high and low endpoints <- Calculate_maxRBA(titer_list, method = "exp", discretize = 0.5) endpoints$maxRBA_d50#> 110191 110192 110193 110194 110195 #> lowResponder lowResponder lowResponder lowResponder highResponder #> 110196 110197 110198 110199 110200 #> lowResponder highResponder lowResponder lowResponder highResponder #> 110201 110202 110203 110204 110205 #> highResponder highResponder highResponder highResponder highResponder #> 110207 110208 110209 110210 110211 #> lowResponder lowResponder lowResponder lowResponder highResponder #> 110212 110213 110214 110215 110216 #> lowResponder highResponder lowResponder lowResponder highResponder #> 110241 110242 110243 110244 110245 #> highResponder lowResponder lowResponder highResponder highResponder #> 110247 110248 110250 110251 110252 #> highResponder lowResponder lowResponder highResponder highResponder #> 110253 110254 110255 110256 110257 #> highResponder highResponder highResponder highResponder highResponder #> 110258 110259 110260 110261 110262 #> highResponder highResponder lowResponder highResponder highResponder #> 110263 110264 110265 110266 110267 #> lowResponder lowResponder highResponder highResponder highResponder #> 110268 110269 110270 110271 110272 #> highResponder highResponder lowResponder lowResponder highResponder #> 110273 110274 110275 110276 110277 #> lowResponder lowResponder highResponder highResponder highResponder #> 110278 110279 110280 110281 110282 #> lowResponder lowResponder lowResponder lowResponder lowResponder #> 110283 110284 110285 110286 #> highResponder lowResponder lowResponder lowResponder #> Levels: lowResponder moderateResponder highResponder