2014-07-09 122 views
-2

我需要以矩阵矢量索引的序列,如果矢量的长度为40以矩阵创建序列

x <- 1:40 

输出I期望是

 1 11 21 
    11 21 31 
    2 12 22 
    12 22 32 
    3 13 23 
    13 23 33 
    4 14 24 
    14 24 34 
    5 15 25 
    15 25 35 
    6 16 26 
    16 26 36 
    7 17 27 
    17 27 37 
    8 18 28 
    18 28 38 
    9 19 29 
    19 29 39 
    10 20 30 
    20 30 40 
+0

这需要更多的细节,什么你提供是不够的,有人来帮助你。 – Alberto

+0

你需要这个世界上的什么? – AndrewMacDonald

回答

0

使用您的x

matrix(mapply(c, head(x, -10), tail(x, -10)), 20, 3) 

#  [,1] [,2] [,3] 
# [1,] 1 11 21 
# [2,] 11 21 31 
# [3,] 2 12 22 
# [4,] 12 22 32 
# [5,] 3 13 23 
# [6,] 13 23 33 
# [7,] 4 14 24 
# [8,] 14 24 34 
# [9,] 5 15 25 
# [10,] 15 25 35 
# [11,] 6 16 26 
# [12,] 16 26 36 
# [13,] 7 17 27 
# [14,] 17 27 37 
# [15,] 8 18 28 
# [16,] 18 28 38 
# [17,] 9 19 29 
# [18,] 19 29 39 
# [19,] 10 20 30 
# [20,] 20 30 40 
+1

紧凑和有用的代码,服务于此目的。 – user3786126

2

尝试:

matrix(rep(1:10,each=6) +c(0,10,20,10,20,30),ncol=3,byrow=T) 
+0

太优雅了!这比我的好:) – AndrewMacDonald

0

mat <- matrix(c(0,10,20,10,20,30),nrow = 2, byrow = TRUE) 

res <- lapply(1:10,function(n) mat + n) 

do.call(rbind,res)