mapply 陷入死循环

mapply runs into endless loop

我有一个 data.table 这样的:

testDT <- data.table(SFf = as.character(c("C1H1", "C3H4Cl")),
                     Mult = as.integer(c(3,5))
)

现在我正在尝试遍历此 table 的行并像这样对其应用一个函数(enviPat 包中的 multiform()):

mapply(multiform,testDT$SFf,testDT$Mult)

它的输出应该是两个字符串,即"C3H3"和"C15H20Cl5"。然而,该函数永远不会停止计算,并且似乎陷入了无限循环。

当我应用

这样的函数时
multiform("C1H1",3)

它有效,我得到 "C3H3" 作为输出。我做错了什么?

亚塞尔

我明白了。问题是函数 multiform() 不允许后面没有数字的元素。 所以不需要 "C3H4Cl" 但 "C3H4Cl1".

我认为这不是故意的,我会尝试联系包的作者。