mapply陷入无尽循环

时间:2018-12-11 16:50:30

标签: r mapply

我有一个这样的数据表:

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

现在,我试图遍历此表的行,并向其应用一个函数(来自enviPat包的multiform()),如下所示:

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

输出应为两个字符串,即“ C3H3”和“ C15H20Cl5”。但是,该函数只是永不停止计算,而且似乎陷入了无限循环。

当我应用

之类的功能时
multiform("C1H1",3)

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

Yasel

1 个答案:

答案 0 :(得分:2)

我明白了。问题在于函数multiform()不允许元素后面没有数字。 因此它不会使用“ C3H4Cl”,而是“ C3H4Cl1”。

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