lapply pdf 输出覆盖 pdf 而不是创建新的

lapply pdf output overwrites pdf instead of creating new ones

如果有人能在这里帮助我,我会很高兴。 所以,我正在尝试将 lapply 用于 secondary.peaks (sangeranalyserR 包)函数,但是,我找不到将 file.prefix 更改为可以根据文件更改的内容的方法.这是我正在尝试和失败的。

lapply(list, secondary.peaks, output.folder = "/secondary_peaks",
   file.prefix = names(list))

所以,基本上问题出在 file.prefix,我希望列表中的每个文件都使用列表的名称。问题是当我制作一个名字列表时,它基本上只取名字并将它重复到列表中的每个文件。因此,我最终没有得到 5 个文件和 5 个名称,而是得到了 1 个文件,其中的第一个名称是列表名称。

lapply 仅迭代其 X 参数中给定的对象。要迭代多个参数,您需要使用 mapply。请注意 mapply 中的参数顺序略有不同。我会尝试(未经测试)

mapply(FUN = secondary.peaks, 
       s = list, 
       file.prefix = names(list), 
       MoreArgs = list(output.folder = "/secondary_peaks"))

如果您想确保将列表作为输出返回,您可以在 mapply 调用中设置 SIMPLIFY = TRUE。请务必阅读 mapply.

的文档