在 R 中用矩阵循环
Loop with matrix in R
假设,我有一个 10 X 100 的矩阵如下(实际上矩阵很大):
x = matrix(norm(n=10), 10, 100)
现在我想通过组合第 1 列到 100 列来制作 1000 x 1 矩阵。[例如 rbind
。
我的代码如下:
y=matrix(0,nrow=1000,ncol=1)
for(row in 1:10){
y[1+(row-1)*100:(row)*100, 1]=x[row,1:100]
}
我的预期输出是这样的
y=matrix(rnorm(1000),nrow=1000, ncol=1)
我的代码似乎不正确。
您只需更改矩阵的维度即可:
x <- matrix(1:100, 5, 20)
y <- matrix(x, 100, 1)
假设,我有一个 10 X 100 的矩阵如下(实际上矩阵很大):
x = matrix(norm(n=10), 10, 100)
现在我想通过组合第 1 列到 100 列来制作 1000 x 1 矩阵。[例如 rbind
。
我的代码如下:
y=matrix(0,nrow=1000,ncol=1)
for(row in 1:10){
y[1+(row-1)*100:(row)*100, 1]=x[row,1:100]
}
我的预期输出是这样的
y=matrix(rnorm(1000),nrow=1000, ncol=1)
我的代码似乎不正确。
您只需更改矩阵的维度即可:
x <- matrix(1:100, 5, 20)
y <- matrix(x, 100, 1)