R 是不是有与 Python 中的 reduce() 等价的东西?

Posted

技术标签:

【中文标题】R 是不是有与 Python 中的 reduce() 等价的东西?【英文标题】:Does R have something equivalent to reduce() in Python?R 是否有与 Python 中的 reduce() 等价的东西? 【发布时间】:2011-11-16 20:21:25 【问题描述】:

即:“将两个参数的函数从左到右累积应用于序列项,从而将序列减少为单个值。”

【问题讨论】:

【参考方案1】:

是的,它叫Reduce

一个例子:

Reduce(paste, LETTERS[1:5])
[1] "A B C D E"

Reduce(sum, 1:5)
[1] 15

#List arguments work the same
Reduce(sum, list(1, 2, 3, 4, 5))
[1] 15

有关 R 函数式编程的更多信息,请参阅?funprog 的帮助文件,?Reduce 的别名

【讨论】:

+1 让我在读完第一行后把咖啡从鼻子里吐了出来。 @John 在一天的工作中...早上好,也祝你! Reduce("+",1:5) 稍微清楚一点,它处理一个有 2 个参数的函数。 只是对"+"sum:Reduce(sum, list(c(1,2), c(3,4))) = 10 的注释,而Reduce("+", list(c(1,2), c(3,4))) = c(4,6) 为什么是大写?【参考方案2】:

是的。见http://stat.ethz.ch/R-manual/R-patched/library/base/html/funprog.html

【讨论】:

以上是关于R 是不是有与 Python 中的 reduce() 等价的东西?的主要内容,如果未能解决你的问题,请参考以下文章

python中的reduce

python中的map&reduce

C++ 中是不是有与“for ... else”Python 循环等效的方法?

Scala 中是不是有与 Python 更通用的 map 函数等价的功能?

在 C++/STL 中是不是有与 Python range() 等效的紧凑函数

是否有与 Ruby 符号等效的 Python?