2个参数对N个参数函数的组合作用

Emp*_*cer 1 functional-programming r function

如果我有一个类似的函数union,它采用两个集合的联合,是否有一种简洁的方法来编写一个函数,它接受任意数量的集合,即union_n(x, y, z, w) = union(x, union(y, union(z, w)))

G. *_*eck 6

试试Reduce:

x <- 1:3
y <- 2:4
z <- 3:5
w <- 4:9
Reduce(union, list(x, y, z, w))
## [1] 1 2 3 4 5 6 7 8 9
Run Code Online (Sandbox Code Playgroud)

或作为一种功能:

union_n <- function(...) Reduce(union, list(...))
union_n(x, y, z, w)
## [1] 1 2 3 4 5 6 7 8 9
Run Code Online (Sandbox Code Playgroud)