在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。
点赞
评论