虽然我知道如何在Python和Java中做到这一点,但不熟悉如何在R中实现这一点 特别是我知道R在循环中非常慢并且动态增长列表很慢。
假设我有一个向量(列表)a< -c(1,3,4),我希望有一个列表b,它包含来自以下规则的元素,来自a的任何元素k,包括{{1}在列表中b。
3*k-2:3*k
现在更一般地说,如果我有一个规则(函数)f(k),如何将返回附加到新列表?
感谢
答案 0 :(得分:2)
你想要这样的东西:
> unlist(lapply(c(1,3,4), function(k) (3*k-2):(3*k)))
[1] 1 2 3 7 8 9 10 11 12
但我没有按照您的要求提供更通用的解决方案。
答案 1 :(得分:2)
这是另一种方式,为了变化。
as.vector(mapply(`:`, 3*a-2, 3*a))
# [1] 1 2 3 7 8 9 10 11 12