在R中不同时间复制向量中的每个元素

Suppose I have a numeric vector v

v <- 1:5

I want to rep

v[1] by v[1] times.

v[2] by v[2] times... and so on....

所需的输出将是:

1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 

以下无效。有任何想法吗?

rep(v, each = function(x) v[x]) 

提前谢谢了。

评论
  • 舒灵波
    舒灵波 回复

    We can use rep on itself

    rep(v, v)
    

    If we want to specify the argument, use times

    rep(v, times = v)
    

    The each would not take anonymous function and it takes only a vector of length 1. According to ?rep

    每个-非负整数。 x的每个元素都重复一次。其他输入将强制为整数或双精度向量,并采用第一个元素。如果不适用或无效,则视为1。