我创建了一个名为col of dimension 150x4的矩阵。
现在我想通过绑定(col,col1,....,col149)来创建一个150x600矩阵,其中colk是通过用零替换col的前k行来创建的。
我的col1代码是
c1<-col[-1,]
row<-(0,0,0,0)
col1<-rbind(row,c1)
然而,如果k = 149,那真的很难。我想循环功能是必需的。另外,我创建的col1看起来不像矩阵。当我在R中打印它时,没有行号。
由于我是R的新手,不知道如何在R中做这些事。
我的col代码是col&lt; -t(res),可以看到 How to make a matrix from a given vector by using for loop
有人可以帮我解决这个问题吗?提前致谢 !
答案 0 :(得分:0)
可能有帮助:
res1 <- cbind(colN,do.call(`cbind`, lapply(1:149, function(i) {
rN <- matrix(rowN[col(colN[1:i,,drop=FALSE])], ncol=4)
rbind(rN, colN[-(1:i),])
})))
dim(res1)
#[1] 150 600
从链接
set.seed(25)
x<-runif(150,-2,2)
x1<-c(0,0,0,0,x)
n <- length(x1)-1
res <- sapply((4:n)-3, function(i) x1[(i+3):i])
colN <- t(res)
rowN <- rep(0,4)