1

list で呼び出さindex.1れる30 個の行列のセットがあります。次を使用して、それらを単一のマトリックスに結合できます。index.30listnamedo.call

new.matrix = do.call(rbind, listname)

しかし、各観測値が元々どのマトリックスから来たかを示す指標として、マトリックスに変数を作成するにはどうすればよいでしょうか?

4

1 に答える 1

2
mat1<-matrix(c(1,1,0,0),byrow=TRUE,nrow=2)
mat2<-matrix(c(13,3,0,0),byrow=TRUE,nrow=2)
mat1
mat2
matindex<-c(rep(1,length(mat1[,1])),rep(2,length(mat2[,1])))
listname<-list(mat1,mat2)
new.matrix <- do.call(rbind, listname)
finalnewmatrix<-cbind(new.matrix,matindex)
finalnewmatrix
# or if you want the index as rownames then...
# rownames(new.matrix)<-matindex

これをさらに自動化し、多くのマトリックスの入力を節約するには、次のようにします。

lengths  <- sapply(listname, nrow)
matindex <- rep(seq_along(listname), lengths)
new.matrix <- do.call(rbind, listname)
finalnewmatrix <- cbind(new.matrix, matindex)
于 2012-09-16T11:42:18.250 に答える