Połączenie listy macierzy z inną macierzą według wierszy.

Powiedzmy, że mam listę macierzy (wszystkie z taką samą liczbą kolumn). Jak dodać / połączyć te macierze według wiersza („powiązanie wiersza”, rbind), aby uzyskać pojedynczą macierz?

Próbowałam tak:

> matrix(1, nrow=2, ncol=3)
     [,1] [,2] [,3]
 [1,]    1    1    1
 [2,]    1    1    1
> matrix(2, nrow=3, ncol=3)
     [,1] [,2] [,3]
[1,]    2    2    2
[2,]    2    2    2
[3,]    2    2    2
> m1 <- matrix(1, nrow=2, ncol=3)
> m2 <- matrix(2, nrow=3, ncol=3)

Teraz możemy mieć wiele macierzy na liście, powiedzmy, że mamy tylko dwie:

l <- list(m1, m2)

Chciałbym osiągnąć coś takiego:

> rbind(m1, m2)
     [,1] [,2] [,3]
[1,]    1    1    1
[2,]    1    1    1
[3,]    2    2    2
[4,]    2    2    2
[5,]    2    2    2

Macie jakiś pomysł?

1 odpowiedź

Użyj do.call (rbind, ...):

> m1 <- matrix(1, nrow=2, ncol=3)
> m2 <- matrix(2, nrow=3, ncol=3)
> l <- list(m1, m2)
> do.call(rbind, l)
     [,1] [,2] [,3]
[1,]    1    1    1
[2,]    1    1    1
[3,]    2    2    2
[4,]    2    2    2
[5,]    2    2    2

Może Cię również zainteresować funkcja rbind.fill.matrix () z pakietu „plyr”, która pozwoli ci również na powiązanie macierzy z różnymi kolumnami, wypełniając w razie potrzeby.

Twoja odpowiedź

Zaloguj się aby odpowiedzieć.

Operiada

Operiada to polskojęzyczne forum informatyczne działające na zasadzie pytań i odpowiedzi.

Obserwowane tagi

Zaloguj się aby obserwować tagi.