mam problem z datami w R. Definiowanie T1 i T2 jako dat w formacie POSIXct lub POSIXlt z 6 ułamków sekund:Różnica pomiędzy datami w R
op <- options(digits.secs = 6)
T1 = strptime("2015.10.10 12:00:00.150150", "%Y.%m.%d %H:%M:%OS")
T2 = strptime("2015.10.10 16:30:15.212412", "%Y.%m.%d %H:%M:%OS")
Jak uzyskać różnicę pomiędzy T1 i T2 w ten format:
format = "%H:%M:%OS"
Na przykład różnica pomiędzy określonymi datami jest:
diff = "04:30:15.062262"
próbowałem innego podejścia es, ale nie udało się.
Moje próby:
T1 = strptime("2015.10.10 12:00:00.150150", "%Y.%m.%d %H:%M:%OS")
T2 = strptime("2015.10.10 16:30:15.212412", "%Y.%m.%d %H:%M:%OS")
h = difftime(T2,T1, units = "hours")
m = difftime(T2,T1, units = "mins")
s = difftime(T2,T1, units = "secs")
Ale nie wiem jak dostać fractionals.
Proszę pokazać nam, co próbowałem. Wtedy wiemy, czy musimy ulepszyć istniejące rozwiązanie, czy też zapewnić zupełnie nowe. Jako ogólną wskazówkę, używam pakietu 'lubridate' dla wszystkiego związanego z czasem i datami. Myślę, że studiowanie dokumentacji tego pakietu da ci daleko. –
Hm, to jest dobre pytanie! Spodziewałem się, że 'as.difftime (T2 - T1, format = '% H:% M:% OS')' działa, ale tak nie jest. Nie rozumiem głosów w dół ... – drmariod
Z 'lubridate' jest dobra funkcja, aby uzyskać podobny wynik, ale nie dokładnie taki sam format ...' lubridate :: seconds_to_period (difftime (T2, T1, units = ' secs ')) ' – drmariod