如何在R中逐步创建矩阵

时间:2014-11-23 19:19:37

标签: r statistics

我从矢量开始

x <- c(1:8)

R.中的八个组件

所以这个向量看起来像:

[1] 1 2 3 4 5 6 7 8

然后我计算x的新值,我希望将其存储在行中。因此,对于intance,经过三个步骤后,我将得到一个3次8的矩阵,每行将包含每个步骤的x值。那是

[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [1,] 1 2 3 4 5 6 7 8 [2,] 9 10 11 12 13 14 15 16 [3,] 17 18 19 20 21 22 23 24

在第二行和第三行中,我们逐个添加了新值。

有任何建议如何做到这一点?非常感谢你!

1 个答案:

答案 0 :(得分:0)

尝试

n <- 3
matrix(x+ rep(seq(0,length.out=n, by=8), each=length(x)), nrow=n, byrow=TRUE)
#     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
#[1,]    1    2    3    4    5    6    7    8
#[2,]    9   10   11   12   13   14   15   16
#[3,]   17   18   19   20   21   22   23   24

更新

如果你需要双for个循环(如果你展示了你使用的代码会更好)

v1 <- seq(0, length.out=n, by=8)
m1 <- matrix(ncol=length(x), nrow=n)
for(i in 1:n){
for(j in seq_along(x)){
   m1[i,j] <- v1[i]+x[j]
  }
 }

m1
#      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
#[1,]    1    2    3    4    5    6    7    8
#[2,]    9   10   11   12   13   14   15   16
#[3,]   17   18   19   20   21   22   23   24