R:递归地对列表执行操作

时间:2016-08-02 20:11:06

标签: r list recursion

我有数据框列表,我试图通过应用merge()将列表的所有元素合并到一个数据框中。我正在寻找一个可以处理不同功能和列表中大量元素的通用解决方案。

为了方便的工作示例,让我们使用应该具有相同解决方案的相关问题。所以,假设我们有一个数字列表:

foo <- list(1, 2, 478, 676)

让我们进一步假设我正在尝试编写一个脚本,它接受第一个数字并将其除以第二个数字。然后取出该商并将其除以第三个。然后取出该商并将其除以第四个等等。最后,我将一个数字存储在一个对象中。例如:

((foo[1] / foo[2]) / foo[3]) / foo[4]

我已经看到rapply()用于列表上的递归操作,但所有示例都是用于除名列表而不是其他操作,例如merge()或算术运算。

1 个答案:

答案 0 :(得分:0)

如评论中所述,使用Reduce(function, x)有效,其中function是要对列表的每个元素执行的函数,x是列表。