Załóżmy, że posiada dwie macierze kwadratowe (w rzeczywistości wiele innych), które są ze sobą połączone:Biorąc transpozycję kwadratowe bloki w prostokątnej matrycy R
mat = matrix(1:18,nrow=3,ncol=6)
mat
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 1 4 7 10 13 16
[2,] 2 5 8 11 14 17
[3,] 3 6 9 12 15 18
że chce podjąć transpozycję każdego (3x3) matrycy zachować im klejone obok siebie, więc wynik jest:
mat2
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 1 2 3 10 11 12
[2,] 4 5 6 13 14 15
[3,] 7 8 9 16 17 18
nie chcę, aby to zrobić ręcznie, ponieważ jest WIELE macierze cbound razem, nie tylko 2.
chciałbym rozwiązanie, które pozwala uniknąć loo ping lub apply (który jest po prostu otokiem pętli). Potrzebuję wydajnego rozwiązania, ponieważ będzie musiało działać dziesiątki tysięcy razy.
nie mam pojęcia jak to zrobić to bez pętli, więc nie mam rozwiązania ... – robertevansanders
Haha, jeśli masz lepszy tytuł, prosimy, edytuj także. Nie mogłem znaleźć rozwiązania, szukając, ale nie jestem nawet pewien, jaki jest język, aby opisać to, co próbuję zrobić. – robertevansanders
Czy masz trzy wiersze w "rzeczywistym" problemie, czy jest ich więcej? – Heroka