我从矢量开始
x <- c(1:8)
所以这个向量看起来像:
[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
在第二行和第三行中,我们逐个添加了新值。
有任何建议如何做到这一点?非常感谢你!
答案 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