Convert AMT/RATE/DV columns of a NM data.frame from mass units to molar units.
nm_to_molar(
df,
mw_dose,
mw_dv = mw_dose,
amt_cols = c("AMT", "RATE"),
dv_col = "DV",
cmt_col = "CMT",
dose_factor = 1000,
dv_factor = 1
)data.frame with converted columns; other columns unchanged.
data.frame.
numeric scalar. MW for AMT and RATE columns.
numeric scalar OR named numeric. Scalar: applied to all DV regardless of CMT. Named: names are CMT values; rows whose CMT is not in names() are left unchanged. Default = mw_dose.
columns to convert with mw_dose. Default c("AMT", "RATE").
DV column. Default "DV".
CMT column. Default "CMT".
multiplier applied after AMT/RATE divided by mw_dose. 1000 = mg -> umol (default).
multiplier applied after DV divided by mw_dv. 1 = ng/mL -> umol/L (default).
Typical use:
AMT, RATE in mg, DV in ng/mL, MW in g/mol
mg / MW * 1000 -> umol
ng/mL / MW -> umol/L
For multiple analytes (e.g., parent at CMT=1 and metabolite at CMT=3),
supply mw_dv as a named numeric vector with names equal to the CMT
values (as character): c(`1` = 394.47, `3` = 380.47).