Jak wyodrębnić czas z serii obiektów POSIXct odrzucających część daty?
Na przykład mam:
times <- structure(c(1331086009.50098, 1331091427.42461, 1331252565.99979,
1331252675.81601, 1331262597.72474, 1331262641.11786, 1331269557.4059,
1331278779.26727, 1331448476.96126, 1331452596.13806), class = c("POSIXct",
"POSIXt"))
który odpowiada tym datom:
"2012-03-07 03:06:49 CET" "2012-03-07 04:37:07 CET"
"2012-03-09 01:22:45 CET" "2012-03-09 01:24:35 CET"
"2012-03-09 04:09:57 CET" "2012-03-09 04:10:41 CET"
"2012-03-09 06:05:57 CET" "2012-03-09 08:39:39 CET"
"2012-03-11 07:47:56 CET" "2012-03-11 08:56:36 CET"
Teraz mam pewne wartości dla parametru mierzonego w tamtych czasach
val <- c(1.25343125e-05, 0.00022890575,
3.9269125e-05, 0.0002285681875,
4.26353125e-05, 5.982625e-05,
2.09575e-05, 0.0001516951251,
2.653125e-05, 0.0001021391875)
Chciałbym wykreślić val w funkcji pory dnia, niezależnie od konkretnego dnia, w którym mierzono val.
Czy jest jakaś konkretna funkcja, która pozwoliłaby mi to zrobić?
lubridate
, wygląda na ciekawy pakiet.time_t
Stosunek ceny do północy czasu GMT jest zawsze podzielna przez86400
(24 * 3600
). Zatem wartość sekund od północy GMT wynositime %% 86400
.Godzina w GMT to
(time %% 86400) / 3600
i można ją wykorzystać jako oś x wykresu:plot((as.numeric(times) %% 86400)/3600, val)
Aby dostosować strefę czasową, dostosuj czas przed obliczeniem modułu, dodając liczbę sekund, o które Twoja strefa czasowa wyprzedza GMT. Na przykład środkowy czas letni w USA (CDT) jest 5 godzin za GMT. Aby wykreślić w funkcji czasu w CDT, używa się następującego wyrażenia:
plot(((as.numeric(times) - 5*3600) %% 86400)/3600, val)
źródło
Dostarczono wiele rozwiązań, ale nie widziałem tego, który wykorzystuje pakiet chron:
hours = times(strftime(times, format="%T")) plot(val~hours)
(przepraszam, nie jestem uprawniony do umieszczania zdjęcia, będziesz musiał sam to wykreślić)
źródło
Oto aktualizacja dla tych, którzy szukają tidyverse metody wyodrębniania hh: mm :: ss.sssss z obiektu POSIXct. Zwróć uwagę, że strefa czasowa nie jest uwzględniana w danych wyjściowych.
źródło