Mam następujący data.frame w R:poziomy czynnika Reorder według dnia tygodnia w R
> daily
DoW Duration
1 Friday 14.0000000000000
2 Monday 21.0000000000000
3 Saturday 12.0000000000000
4 Thursday 28.0000000000000
5 Tuesday 12.0000000000000
6 Wednesday 91.0000000000000
7 Sunday 20.0000000000000
chciałbym zmienić kolejność poziomów czynników tak, że są w tydzień (US) zamówienie na dzień tygodnia.
Wygląda na to, że mogę to zrobić w powolny, zagadkowy sposób za pomocą relevel()
. Ale to tylko bierze 1 argument numeryczny i przenosi go na szczyt. Tak więc relevel(daily$DoW, 7)
przesuwa się w niedzielę na górę, ale reszta pozostaje nieuporządkowana (co oznacza, że muszę wydać ją w odwrotnej kolejności).
Można to zrobić, ale musi być lepszy sposób, prawda?
(. Rozwiązanie szeregów czasowych również dopuszczalne)
Sprawdziłem, czy R ma stałe dni w tygodniu, tak jak ma to miejsce w przypadku miesięcy i nie wydaje się. Pomyślałem, że tak. –
To prawie zadziałało --- Zaimplementowałem ostatnią linię jako zadanie, 'daily <- daily [order (daily $ DoW)]' Ale zauważam, że kiedy robię histogram z niego za pomocą 'ggplot (codziennie, aes (x = DoW, y = Czas trwania)) + geom_histogram() ', czynniki są wymienione we właściwej kolejności na osi X, ale nie na osi y --- to znaczy wartości y nadal odpowiadają starym pozycje wartości x. tj. niedziela jest 14, zamiast 20. – Mittenchops
Tak, może moje zadanie było nieprawidłowe, ale kiedy po prostu wpisuję "codziennie" teraz, indeks jest nadal wymieniony jako "7,2,5,6,4,1,3" , mimo że kolumna DoW zaczyna się teraz w niedzielę. – Mittenchops