R 中 Mathematica 的 MapThread 函数

MapThread function from Mathematica in R

来自 Mathematica 我开始使用 R。在 Mathematica 中有一个函数 MapThread。从 到 不同列表的元素被插入到函数中。 这是一个小例子:

MapThread[#1*#2 &, {{1, 2, 3}, {4, 5, 6}}]

Returns:

{4, 10, 18}

我想知道 R 中是否有相同的函数。

您可以为此使用 mapply

mapply('*', c(1,2,3), c(4,5,6))
[1]  4 10 18

第一个参数是要按元素应用于以下参数的函数(在本例中为乘法 *)。然后第二个参数是第一个向量,第三个参数是第二个向量(函数将应用于其元素)。

如果您在控制台上键入 ?mapply,您可以看到更多示例并了解它。

如果出于某种奇怪的原因你可以做显而易见的事情,例如 c(1,2,3) * c(4,5,6)do.call 会比 mapply 更有效:do.call("*", list(c(1,2,3), c(4,5,6)))

我认为这等同于您的 Mathematica 代码所做的。