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() 等价的东西?的主要内容,如果未能解决你的问题,请参考以下文章
C++ 中是不是有与“for ... else”Python 循环等效的方法?
Scala 中是不是有与 Python 更通用的 map 函数等价的功能?