Jak mogę łączyć macierze z tych samych kolumn, ale z różną liczbą rzędów? Na przykład I chcę połączyć (dim(a) = 15 7000)
i b (dim(b) = 16 7000)
i chcę, aby wynik był macierzą 31
wierszy według kolumn 7000
. Czy mogę to zrobić dla macierzy różnych wierszy i kolumn? Załóżmy, że chcę połączyć macierz złożoną z 15 rzędów i 7000 kolumn z innym z 16 rzędów i 7500 kolumn. Czy mogę z tym utworzyć zestaw danych?Matryce konkatenacji w R
Odpowiedz
Brzmi jak szukasz rbind
:
> a<-matrix(nrow=10,ncol=5)
> b<-matrix(nrow=20,ncol=5)
> dim(rbind(a,b))
[1] 30 5
Podobnie cbind
stosy macierze poziomo.
nie jestem do końca pewien, co masz na myśli przez ostatnie pytanie („Czy mogę to zrobić dla matryc o różnych rzędach i kolumnach.?”)
cbindX z pakietu gdata łączy wiele kolumn różne długości kolumn i rzędów. Sprawdź stronę tutaj:
http://hosho.ees.hokudai.ac.jp/~kubo/Rdoc/library/gdata/html/cbindX.html
To trwa kilka oddzielonych przecinkami matryce i data.frames jako wejście :) Wystarczy
install.packages("gdata", dependencies=TRUE)
a następnie
library(gdata)
concat_data <- cbindX(df1, df2, df3) # or cbindX(matrix1, matrix2, matrix3, matrix4)
To zdecydowanie najszybsze rozwiązanie, jakiego próbowałem. – Datageek
'cbindX' jest wielką funkcją, ale OP najwyraźniej tylko pyta o wiążące macierze według wiersza (zauważ wymiary wymiaru, które określają), a nie według kolumny, a ** gdata ** nie zawiera analogicznej funkcji rbind. Istnieje jednak funkcja 'rbind.fill' w ** plyr **. – joran
Dodatkowo, mój komentarz, że ich pytanie nie było dobrze zdefiniowane, był poprawny. Wydaje się, że ignorujesz tę część: "Celem jest przejście przez każdy wiersz i znalezienie maksymalnej wartości." Nie jest jasne, co oznaczało to PO. Gdyby uzupełniali brakujące komórki tylko NA, wtedy po prostu zaleciłbym rbind.fill. – joran
- 1. Matryce z matryc w Perlu
- 2. Matryce i bazy danych
- 3. Matryce powodujące awarię
- 4. Instrukcja w środku konkatenacji?
- 5. JOOQ konkatenacji
- 6. Ciągi konkatenacji w mniejszej liczbie
- 7. wykonawcza ciąg oceny konkatenacji
- 8. Hash seryjnej/konkatenacji
- 9. Iteratory wydajność konkatenacji
- 10. C konkatenacji ciąg stałych
- 11. Scatterplot matryce z boxplots dla danych kategorycznych
- 12. Operator konkatenacji MySQL
- 13. ciąg JavaScript prędkość konkatenacji
- 14. C tablica char konkatenacji
- 15. pętli nad (lub vectorize) Zmienna długość w matryce Theano
- 16. Metoda konkatenacji 2 ciągów w Javie
- 17. PHP: zmienne w łańcuchach bez konkatenacji
- 18. Poprawne tokeny preprocesora w makro konkatenacji
- 19. wektory konkatenacji macierzy komórkowej w matlab
- 20. Styl AngularJS 2: Co słychać w konkatenacji?
- 21. Łańcuch konkatenacji ze zmienną w smarty
- 22. Ciąg konkatenacji VS format string
- 23. Smarty zmienna lokalna konkatenacji sznurkiem
- 24. ciąg konkatenacji przy użyciu javascript
- 25. Nieefektywne wykorzystanie konkatenacji ciągów znaków
- 26. php numer ciąg konkatenacji pomieszane
- 27. C# ciągi konkatenacji podczas kompilowania
- 28. Wypisz wektor w R w tym samym formacie, w którym został wprowadzony do R
- 29. C++ Odczytaj matryce z pliku z wieloma ogranicznikami
- 30. Jak interpolować zmienne w łańcuchach w JavaScript, bez konkatenacji?
Załóżmy, że chcę połączyć macierz złożoną z 15 rzędów i 7000 kolumn oraz kolejną z 16 rwos i 7500 kolumn. Celem jest przejście przez każdy wiersz i znalezienie maksymalnej wartości. – Dombey
@GTyler Twoje pytanie dotyczące łączenia 15x7000 i 16x7500 nie jest dobrze zdefiniowane. Musisz edytować swoje pytanie (nie zostawiaj komentarza), aby określić takie rzeczy jak: jaki jest wymiar? co dzieje się ze wszystkimi nadmiarowymi wierszami/kolumną? w jaki sposób każdy element wynikowej macierzy jest jednoznacznie określony? – joran
@joran Nie zgadzam się i również myślę, że rbind lub cbind są złe funkcje dla tego problemu! Możliwość łączenia ramek danych lub macierzy o różnych numerach wierszy i/lub kolumn jest bardziej odpowiednia dla cbindX, o czym wspomnę poniżej! – gawbul