Ich habe einen Datenrahmen im Zeitformat. Ich muss es in numerische Daten ändern. Ich habe das folgende Format verwendet, aber ich bin mir nicht sicher, ob es korrekt ist, da sich die Werte im numerischen Format ändern.Zeitdatenrahmen in numerische Daten umwandeln
Photoperiod
08:52:41
08:53:35
08:54:33
08:55:36
08:56:44
08:57:55
08:59:11
09:00:31
09:01:55
09:03:23
09:04:55
09:06:31
09:08:10
09:09:53
09:11:40
DF<- read.csv2(file="DF.csv")
DF.a <-as.POSIXct(DF, format = "%H:%M:%S")
library(data.table)
DF.B<- lapply(DF.a , function(x) as.numeric(as.ITime(x))/3600)
Wo ist das Problem? Die ersten beiden Male haben einen Unterschied von ~ 1 Minute. Dies ist 1/60 ~ 0,016. Wenn Sie den Unterschied zwischen den ersten zwei Mal betrachten, ist es 0,015. –
Welche Werte haben Sie erwartet? Die Funktion 'as.numeric (as.ITime (x))/3600' würde Zeit in Bezug auf die Anzahl der Stunden (bis zu 24) geben. Sie können zum Beispiel überprüfen, dass 'as.numeric (as.ITime (" 12:00:00 "))/3600' 12 zurückgibt,' as.numeric (as.ITime ("23:59:59"))/3600 'gibt 23.99972, usw. zurück. –
Mein Datenrahmen ist die Tageslichtdaten, also 14:25:30 bedeutet 14 Stunden und 25 Minuten Tageslicht, ich weiß nicht, ob ich as.numeric (as.ITime (x))/3600 benutze, zerstöre meine Daten oder nicht. Nur verwirrt werden. – Mori