如何使用for循环从给定的向量中生成矩阵

时间:2014-10-10 10:39:49

标签: r

我试图通过检索给定向量中的$n\times 4$元素来制作n-th four矩阵。由于我是R的新手,因此不知道如何正确使用循环功能。

我的代码就像

x<-runif(150,-2,2)
x1<-c(0,0,0,0,x)
for (i in 0:150)
 {ai<-x1[1+i,4+i]
 }

然而,我得到了:Error in x1[1 + i, 4 + i] : incorrect number of dimensions.

我还想将这些ai合并到一个矩阵中,每个ai都是矩阵的i+1-th行。猜猜我应该使用cbind函数?

任何帮助将不胜感激。提前致谢。

2 个答案:

答案 0 :(得分:1)

您可以使用matrix命令直接执行此操作:

x <- 1:36

xmat<-matrix(x,nr=9,byrow=TRUE)

答案 1 :(得分:0)

可能有帮助:

n <- length(x1)-1
res <- sapply((4:n)-3, function(i) x1[(i+3):i])
dim(res)
#[1]   4 150