如何将矩阵转换为R列中的列向量列表?

假设您想将矩阵转换为列表,其中列表的每个元素包含一列。 list()或as.list()显然不会工作,直到现在我使用tapply的行为hack:

x <- matrix(1:10,ncol=2)

tapply(x,rep(1:ncol(x),each=nrow(x)),function(i)i)

我不完全满意这个。任何人都知道一种更清洁的方法,我忽略?

(为了用行填充列表,代码显然可以更改为:

tapply(x,rep(1:nrow(x),ncol(x)),function(i)i)

)

最佳答案
为了剥皮猫,处理数组作为一个向量,就好像没有昏暗的属性:

 split(x, rep(1:ncol(x), each = nrow(x)))

转载注明原文:如何将矩阵转换为R列中的列向量列表? - 代码日志