【发布时间】:2017-07-25 18:40:59
【问题描述】:
我有一个包含 6000 列的矩阵,每列属于我需要的 100 个“组”之一。我需要将此矩阵转换为包含 100 个较小矩阵的列表。这是我所拥有的玩具示例:
mat = cbind(c(2,2,2),c(3,3,3),c(4,4,4),c(1,1,1))
colnames(mat) = c("2018.3 1","2018.3 2","2019.1 1","2019.2 2")
所以“组”由每个 colname 的姓氏标识,这里有 2 个组。我需要的结果如下:
list(cbind(c(2,2,2),c(4,4,4)),cbind(c(3,3,3),c(1,1,1)))
我一直在想,我觉得应该是这样的:
lapply(do.call(cbind,sapply(something here to find the columns in each group)))
但我还没有弄清楚到底该怎么做。
【问题讨论】: