Obecnie uczę się pracować z data.frame i jestem bardzo zdezorientowany, jak zmienić ich kolejność.Przeformułowywanie magii na data.frame
W tej chwili mam data.frame że pokaże:
- Kolumna 1: nazwę sklepu
- kolumna 2: produkt
- kolumna 3: ilość zakupu tego produktu o tym sklepie
lub wizualnie coś takiego:
+---+-----------+-------+----------+--+
| | Shop.Name | Items | Product | |
+---+-----------+-------+----------+--+
| 1 | Shop1 | 2 | Product1 | |
| 2 | Shop1 | 4 | Product2 | |
| 3 | Shop2 | 3 | Product1 | |
| 4 | Shop3 | 2 | Product1 | |
| 5 | Shop3 | 1 | Product4 | |
+---+-----------+-------+----------+--+
Co chciałbym osiągnąć jest następujące "shop-centric" struktura:
- kolumna 1: nazwa sklepu
- kolumna 2: Produkty sprzedawane na Produkt1
- kolumna 3: Produkty sprzedawane na Produkt2
- kolumna 4: Produkty sprzedawane na product3 ...
Kiedy nie ma linii do konkretnego sklepu/produktu (z powodu braku sprzedaży), chciałbym stworzyć 0.
lub
+---+-------+-------+-------+-------+-------+-----+--+--+
| | Shop | Prod1 | Prod2 | Prod3 | Prod4 | ... | | |
+---+-------+-------+-------+-------+-------+-----+--+--+
| 1 | Shop1 | 2 | 4 | 0 | 0 | ... | | |
| 2 | Shop2 | 3 | 0 | 0 | 0 | ... | | |
| 3 | Shop3 | 2 | 0 | 0 | 1 | ... | | |
+---+-------+-------+-------+-------+-------+-----+--+--+
Mieć spójrz na funkcję 'reshape' lub' dcast' w pakiecie ** reshape2 **. – joran
http://stackoverflow.com/a/9617424/210673 ma długą listę sposobów, aby to zrobić. – Aaron