对于给定向量的每个元素,生成具有X,X-1,...,X-(N-1)的序列

时间:2015-07-10 19:44:02

标签: r vector seq

所以我在创建一个计数器时遇到了麻烦,希望你们都能帮忙。假设我有一个向量

x <- c(40,10,60)

所需的输出将是一个新的矩阵3 x n每行是一个类似这样的新日期..

40 39 38 37 36 35 34 33 32 31 30...
10 9 8 7 6 5 4 3 2 1 0 0 0 
60 59 58 57 56 55 54 53 52 51 50  

我想要的是该行从前一个条目和一个n号中减去一个 时间。我该怎么做呢?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

> n = 12 # or whatever you want

> t(sapply(c(40,10,60), function(x) pmax(seq(x, (x-n+1), -1), 0) ))
     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13]
[1,]   40   39   38   37   36   35   34   33   32    31    30    29    28
[2,]   10    9    8    7    6    5    4    3    2     1     0     0     0
[3,]   60   59   58   57   56   55   54   53   52    51    50    49    48