Background: R fitting functions like lm() and nnet::multinom()) support wrapping a term in offset() to indicate that the term should have a fixed coefficient of 1. I would like to use such an offset in corncob in order to implement the "frequency-based" decontamination method of Davis et al 2018.
I have DNA concentrations in a variable called dna_conc in a phyloseq object. If I run
mod <- bbdml(
formula = ASV1 ~ 1 + offset(-log(dna_conc)),
phi.formula = ~ 1 + log(dna_conc),
data = physeq
)
mod_null <- bbdml(
formula = ASV1 ~ 1,
phi.formula = ~ 1 + log(dna_conc),
data = physeq
)
corncob does not complain about the offset terms, but the fitted models are identical in mod and mod_null, which makes me think the offset term is being silently dropped before model fitting. Is that correct, and is there an alternate way to fit a model with a fixed coefficient?
Background: R fitting functions like
lm()andnnet::multinom()) support wrapping a term inoffset()to indicate that the term should have a fixed coefficient of 1. I would like to use such an offset in corncob in order to implement the "frequency-based" decontamination method of Davis et al 2018.I have DNA concentrations in a variable called
dna_concin a phyloseq object. If I runcorncob does not complain about the offset terms, but the fitted models are identical in
modandmod_null, which makes me think the offset term is being silently dropped before model fitting. Is that correct, and is there an alternate way to fit a model with a fixed coefficient?