zu machen habe ich eine Liste:Wie man eine Matrix ohne Dimensionsnamen aus einer Liste
direc <- structure(list(no_trades = 3L, sell_trades = 19L, buy_trades = 18L), .Names = c("no_trades", "sell_trades", "buy_trades"))
# $no_trades
# [1] 3
#
# $sell_trades
# [1] 19
#
# $buy_trades
# [1] 18
Ich möchte aus dieser Liste eine Matrix ohne Dimensionsnamen machen. Das wäre zu dieser Matrixstruktur ähneln:
classified <- structure(c(9, 6, 13, 9, 6, 13, 9, 6, 13, 9, 6, 13, 9, 6, 13, 9, 6, 13, 9, 6, 13, 9, 6, 13, 9, 6, 13, 9, 6, 13, 9, 6, 13, 9, 6, 13, 9, 6, 13, 9, 6, 13, 9, 6, 13), .Dim = c(3L, 15L))
# [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15]
# [1,] 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
# [2,] 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
# [3,] 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
ich den folgenden Code versucht haben, von einem anderen SO question für Datenrahmen bedeutete Umwandlung zur Matrix:
m2 <- `dimnames<-`(as.matrix(direc), NULL)
Aber es gibt mir wieder eine Liste:
Struktur (list (3L, 19L, 18L), DIM = c (3L, 1L))
Vielen Dank im Voraus für die Antwort.
Vielleicht brauchen Sie '" dimnames <- "(do.call (cbind, direc), NULL)' – akrun
@nruss Nein, siehe Code. Es funktioniert nicht für die Liste. Diese Frage wurde von mir in Bezug auf den Datenrahmen gestellt, um weniger Matrix-Konvergenz zu benennen. –
@PolarBear In Ihrem vorherigen Fall war es ein data.frame, jetzt ist es eine 'list' und die Umwandlung in' matrix' kann durch 'cbind' der Elemente der' list' erfolgen und dann tun Sie die 'dimnames' um NULL. Wenn die 'list' Elemente unterschiedlich lang sind, müssen Sie NA anpassen, um die Länge vor dem' cbind' anzupassen. – akrun