我有一个这样的数据表:
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
答案 0 :(得分:2)
我明白了。问题在于函数multiform()不允许元素后面没有数字。 因此它不会使用“ C3H4Cl”,而是“ C3H4Cl1”。
我认为这不是故意的,会尝试与软件包的作者联系。