Załóżmy, że mam listę macierzy (wszystkie z taką samą liczbą kolumn). Jak mogę dołączyć/połączyć te macierze za pomocą wiersza ("powiązanie wiersza", rbind
), aby uzyskać pojedynczą macierz?Połączyć listę macierzy z pojedynczą macierzą według wierszy
Próbka:
> 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 matryc w postaci listy, powiedzmy, mamy tylko dwa:
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
Mogę łatwo zrobić to na 2 matrycach, ale nie jestem pewien, jak to zrobić z listą macierzy.
dlaczego 'do.call (rbind, l)' różni się od 'rbind (l)'? – clemlaflemme
@ clemlaflemme, pierwszym "argumentem" do 'rbind' jest' ... ', które wewnętrznie jest konwertowane na' listę' wejść. Ponieważ mamy już "listę", musimy traktować każdą z nich osobno, czyli tam, gdzie wchodzi 'do.call'. Jeśli chciałbyś użyć 'rbind' bezpośrednio, musiałbyś zrobić coś takiego jak' rbind (l [[1]], l [[2]]) 'zamiast tego. – A5C1D2H2I1M1N2O1R2T1
@ A5C1D2H2I1M1N2O1R2T1, co jeśli macierze mają różne wymiary, a my chcemy dodać NA jako wypełniacze? –