在R中以14步从矩阵中选择子集,并将其保存在列表中

在R中以14步从矩阵中选择子集,并将其保存在列表中,r,list,matrix,R,List,Matrix,我有一个包含14000列和15行的矩阵(matrixA) 我希望能够选择该矩阵的子集,并将其放入一个新矩阵 然后将此矩阵保存在新列表中(包含所有子集) 例如,我想选择第一个矩阵,包含前14列的数据,然后对于下一个矩阵,我想选择下14列 应该是这样的: matrixA[,1:14] matrixA[,15:28] matrixA[,29:42] 等等 我想知道R中是否有一个函数可以在14步中选择数据,而不是键入这1000次?只需尝试: lapply(seq(1,14000,by=14),f

我有一个包含14000列和15行的矩阵(matrixA)

我希望能够选择该矩阵的子集,并将其放入一个新矩阵 然后将此矩阵保存在新列表中(包含所有子集)

例如,我想选择第一个矩阵,包含前14列的数据,然后对于下一个矩阵,我想选择下14列

应该是这样的:

matrixA[,1:14]
matrixA[,15:28]
matrixA[,29:42]
等等

我想知道R中是否有一个函数可以在14步中选择数据,而不是键入这1000次?

只需尝试:

   lapply(seq(1,14000,by=14),function(x) myMatrix[,x:(x+13)]) 
其他选择包括:

 dim(matrixA) <- c(15,14,1000) #convert matrix to `array` and convert back to `list` using

 lapply(seq(dim(matrixA)[3]), function(i) matrixA[,,i])

数据
set.seed(24)
矩阵
 library(plyr)
 alply(matrixA,3)
 lapply(split(1:14000, ((1:14000)-1)%/%14 +1), function(i) matrixA[,i])
set.seed(24)
matrixA <- matrix(sample(1:200, 15*14000, replace=TRUE), nrow=15)