library(data.table)
# Create a minimal dataset containing all required
# POS, NEG, POS2, and NEG2 formulas for demonstration
demo_iterr <- data.table(
file_id = 1,
mf = c(
# NEG (Iterr)
'C13H12O5','C15H14O4','C14H12O5','C14H14O5','C13H12O6',
'C16H16O4','C15H14O5','C14H12O6','C15H16O5','C14H14O6',
'C16H14O5','C16H16O5','C15H14O6','C15H16O6','C14H14O7',
'C17H16O5','C16H14O6','C17H18O5','C16H16O6','C15H14O7',
'C17H16O6','C16H14O7','C18H18O6','C17H16O7','C17H18O7',
'C18H16O7','C18H18O7','C17H16O8','C19H18O7','C20H20O7',
'C19H18O8','C20H18O9','C19H16O10','C21H20O9','C20H18O10',
'C22H22O9','C21H20O10','C23H22O10','C24H24O10','C25H26O10',
# POS (Iterr)
'C15H19NO6','C15H21NO6','C17H21NO7','C17H23NO7','C17H22O8',
'C16H21NO8','C17H20N2O7','C17H19NO8','C18H23NO7','C17H21NO8',
'C18H24O8','C16H19NO9','C17H23NO8','C17H22O9','C17H24O9',
'C18H21NO8','C17H19NO9','C18H23NO8','C18H22O9','C17H21NO9',
'C18H24O9','C18H20N2O8','C18H21NO9','C19H24O9','C18H23NO9',
'C18H22O10','C18H24O10','C20H24O9','C19H22O10','C20H26O9',
'C19H24O10','C19H26O10','C20H24O10','C20H26O10','C19H24O11',
'C20H24O11','C20H26O11','C20H26O12','C22H28O11','C21H28O12',
# NEG2 (Iterr2)
'C17H18O7','C18H18O7','C17H16O7','C17H16O8','C15H16O6',
# POS2 (Iterr2)
'C20H24O9','C20H24O10','C19H22O10','C17H21NO8','C20H26O9'
),
# Assign magnitude values (arbitrary but valid)
i_magnitude = c(
rep(1000, 40), # NEG
rep(2000, 40), # POS
rep(1500, 5), # NEG2
rep(1800, 5) # POS2
)
)
calc_iterr(
mfd = demo_iterr,
mf_col = "mf",
magnitude_col = "i_magnitude",
grp = "file_id"
)
Run the code above in your browser using DataLab