2017-05-21 1 views
0

Ich möchte Stunden zu Tag angegebene Daten hinzufügen. Und ich möchte, dass die Ausgabe im Datumsformat ist. Ich schrieb den folgenden Code:Hinzufügen von Zeit zu Tag spezifizierte Daten in R

day<-as.Date(c("20-01-2016", "21-01-2016", "22-01-2016", "23-01-2016"),format="%d-%m-%Y") 
hour<-c("12:00:00") 
date<-as.Date(paste(day,hour), format="%d-%m-%Y %h:%m:%s") 

jedoch Dieser Code erzeugt NA:

> date 
[1] NA NA NA NA 

Wie kann ich dies tun in R? Ich werde mich sehr für jede Hilfe freuen. Danke vielmals.

Der Code unten funktioniert auch nicht:

day<-as.Date(c("20-01-2016", "21-01-2016", "22-01-2016", "23-01-2016"),format="%d-%m-%Y") 
time <- "12:00:00" 
x <- paste(day, time) 
x1<-as.POSIXct(x, format = "%d-%m-%Y %H:%M:%S") 

Es NAs noch prodeces:

> x1 
[1] NA NA NA NA 
+0

% H:% M:% S - sie sind Großbuchstaben für das Zeitformat. Versuchen Sie auch as.POSIXct anstelle von as.Date in der zweiten Besetzung, da das Datumsformat keine Zeitinformationen enthält –

+0

Es hat nicht funktioniert. Immer noch NAs @Akhil Nair – oercim

+0

Warum nur '12: 00: 00 '? Haben Sie vielleicht den Rest der Stunden wie erwartet? (d. h. '21-01-2016 01:00:00, 21-01-2016 02: 00: 00', etc ...) – Sotos

Antwort

2

Sie können entweder von diesen beiden tun:

dates <- as.Date(c("20-01-2016", "21-01-2016", "22-01-2016", "23-01-2016"), format = "%d-%m-%Y") 
time <- "12:00:00" 
x <- paste(dates, time) 
as.POSIXct(x, format = "%Y-%m-%d %H:%M:%S") 

dates <- c("20-01-2016", "21-01-2016", "22-01-2016", "23-01-2016") 
time <- "12:00:00" 
x <- paste(dates, time) 
as.POSIXct(x, format = "%d-%m-%Y %H:%M:%S") 

Ich persönlich finde die zweite Version einfacher.

+0

Das hat bei mir @Samuel nicht funktioniert. Ich denke, da mein "Daten" -Feld im Datumsformat ist. – oercim

+0

Ich habe den Code aktualisiert und es sollte jetzt funktionieren. – jsb

+0

Sie haben Recht @nicola. Durch die Umkehrung von Y und d funktioniert der Code. Aber ich habe nicht verstanden, warum wir es umgekehrt haben. In Datum Feld Tag ist das erste Element des Datums und Jahr ist das dritte Element. Vielen Dank an alle. – oercim