假设要将矩阵转换为列表,其中列表的每个元素包含一列。list()
或 as.list()
显然不会工作,直到现在我使用的黑客使用 tapply
的行为:
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)
)