Ich habe einige Probleme bei der Manipulation einer Matrix, die ich aus einer Liste von Listen erstellt habe. Ich verstehe nicht wirklich, warum die resultierende Matrix sich nicht wie eine normale Matrix verhält. Das heißt, ich erwarte, wenn ich eine Spalte unterteilen, damit es einen Vektor zurückgibt, aber stattdessen erhalte ich eine Liste. Hier ist ein funktionierendes Beispiel:Subsetting einer Matrix aus einer Liste von Listen erstellt
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
ist in dem Format, das ich erwarte. Letztendlich werde ich eine Liste dieser Matrizen haben, die ich mitteln möchte, aber ich bekomme immer einen Fehler, der darauf zurückzuführen ist, dass wenn Sie diese Matrix unterteilen, Sie Listen anstelle von Vektoren erhalten.
y[,1]
[[1]]
[1] 1
[[2]]
[1] 4
[[3]]
[1] 7
Weiß jemand a) warum das passiert? und b) Wie könnte ich dieses Problem vermeiden/lösen?
Vielen Dank im Voraus
Eine Idee, warum eine Matrix aus einer Liste von Listen anders als eine Liste von Vektoren arbeiten würde? Meine Annahme war, dass es, sobald es eine Matrix ist, wie eine Matrix funktioniert. Vielleicht gibt es Subtypen der Matrix? – SamPassmore