在R中以14步从矩阵中选择子集,并将其保存在列表中
我有一个包含14000列和15行的矩阵(matrixA) 我希望能够选择该矩阵的子集,并将其放入一个新矩阵 然后将此矩阵保存在新列表中(包含所有子集) 例如,我想选择第一个矩阵,包含前14列的数据,然后对于下一个矩阵,我想选择下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
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)