【发布时间】:2018-10-20 17:59:05
【问题描述】:
我需要创建一个总是返回到序列中第一个数字的序列列表。我已经编写了下面的代码,但它看起来很笨重。有没有使用更少字符的解决方案?
(i = seq(1, 24, by = 3))
#> [1] 1 4 7 10 13 16 19 22
(i_list = purrr::map(i, ~c(.:(. + 2), .)))
#> [[1]]
#> [1] 1 2 3 1
#>
#> [[2]]
#> ...
编辑:这是lapply() 的一种方式。不知道为什么这会受到反对,欢迎任何关于如何改进问题的建议!
(i_list = lapply(i, function(x) c(x:(x+2), x)))
我想知道replicate() 是否有办法,所以添加了那个标签。
【问题讨论】:
-
您的代码占一行,长度为 42 个字符。怎么这么笨重?
-
我想知道是否有 1 班轮。
标签: r list iteration lapply replicate