来自Mathematica我开始使用R.在Mathematica中有一个函数MapThread。从不同列表的元素插入功能。 这是一个小例子:
MapThread[#1*#2 &, {{1, 2, 3}, {4, 5, 6}}]
返回:
{4,10,18}
我想知道R中是否有相同的功能。
答案 0 :(得分:2)
您可以使用mapply('*', c(1,2,3), c(4,5,6))
[1] 4 10 18
:
*
第一个参数是在以下参数上以元素方式应用的函数(在本例中是乘法?mapply
)。然后第二个参数是第一个向量,第三个参数是第二个向量(将在其元素上应用函数)。
如果您在控制台上输入django-bower
,则可以查看更多示例并阅读相关内容。
答案 1 :(得分:2)
如果由于一些奇怪的原因你可以做到显而易见,例如,c(1,2,3) * c(4,5,6)
,do.call
会比mapply
更有效:do.call("*", list(c(1,2,3), c(4,5,6)))
我认为这相当于您的Mathematica代码所做的事情。