我在操作從列表列表創建的矩陣時遇到了一些麻煩。我不明白爲什麼產生的矩陣不像一個普通的矩陣。也就是說,我希望當我爲它返回一個向量的列時,我會得到一個列表。這是一個工作示例:對從列表中創建的矩陣進行子集設置
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