我在操作从列表列表创建的矩阵时遇到了一些麻烦。我不明白为什么产生的矩阵不像一个普通的矩阵。也就是说,我希望当我为它返回一个向量的列时,我会得到一个列表。这是一个工作示例:对从列表中创建的矩阵进行子集设置
x = list()
x[[1]] = list(1, 2, 3)
x[[2]] = list(4, 5, 6)
x[[3]] = list(7, 8, 9)
y = do.call(rbind, x)
y
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 9
y
是我期望的格式。最终,我将列出我想要平均的这些矩阵,但是我一直得到一个错误,这似乎是由于这样一个事实:当你对这个矩阵进行子集化时,你会得到列表而不是矢量。
y[,1]
[[1]]
[1] 1
[[2]]
[1] 4
[[3]]
[1] 7
有没有人知道a)为什么会发生这种情况?和b)我怎样才能避免/解决这个问题?
在此先感谢
任何想法为什么从列表列表中产生的矩阵与向量列表的工作方式不同? 我的假设是,一旦它是一个矩阵,它将像矩阵一样工作。也许有矩阵的亚型? – SamPassmore