映射的函数用于减少将向量连接在一起的函数

时间:2018-03-28 15:03:03

标签: r function vector iteration concatenation

我正在尝试编写一个函数,该函数将函数映射为reduce,以便将第一个条目和最后一个条目的向量列表连接在一起。

例如,

reduce(list(1:10, 11:20, 21:100), r_cat, .init = NULL)

应返回等于

的向量
1:100

这是我到目前为止所拥有的。

r_cat = function(x, y) {
    out <- y[[1]]
    for(i in seq(2, length(y))) {
        out <- x(out, y[[i]])
    }
    out
}

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

无需编写新功能,unlist解决了您的问题:

List <- list(1:10, 11:20, 21:100)
unlist(List)

如果您想使用R base中的Reduce,那么您可以使用c

Reduce("c", List)

您还可以从c

reduce purrr插入library(purrr) reduce(List, c)
{{1}}