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".
我认为这不是故意的,我会尝试联系包的作者。
我有一个 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".
我认为这不是故意的,我会尝试联系包的作者。