是否有一个版本的?rep接收“每个”作为向量? (R问题)

时间:2010-10-22 13:30:06

标签: r repeat

(请忽略这个问题 - 这是愚蠢的......)

我想要一些能做到这一点的事情:

rep(1:3, each = 1:3)
# And will output this vector:
c(1,2,2,3,3,3)

它存在吗? (如果是的话,怎么样?)

更新:我可以这样写 -

rep2 <- function(x, each)
{
    output <- NULL
    for(i in 1:length(x))
    {
        output <- c(output, rep(x[i], each = each[i]))
    }
    return(output)
}
# example:
rep2(1:3,1:3)

但我希望有一个更聪明的解决方案......

2 个答案:

答案 0 :(得分:2)

rep(1:3,1:3)

当然这就是你的榜样。有关信息,rep函数的参数为​​timeseach是一个整数(或向量的第一个元素),它决定了{{1}的所有元素的重复}。

答案 1 :(得分:1)

嗯:

> rep(1:3, 1:3)
[1] 1 2 2 3 3 3

你想要'times ='参数,而不是'each ='。