2017-12-28 19 views
0

ich eine for-Schleife zu verwenden, ich versuche gerade in R. stammt aus einer SQL-Abfrage zu extrahieren Ich habe:For-Schleife Daten ohne Format zu verlieren Datum

StartDate<-"2017-07-01" 
EndDate<- "2017-07-05" 
dates<-seq(as.POSIXct(StartDate, format="%Y-%m-%d"), as.POSIXct(EndDate, format="%Y-%m-%d"), by='days') 

for (f in dates){ 
. 
. Code here that is inside for loop 
. 
} 

Mein Problem, dass in einem Zeitpunkt nicht herauskommt ist Format wie in Daten. Wie bekomme ich f im selben Format wie StartDate und EndDate?

Dank

+0

kannst du nicht einfach: 'für (f in as.character (Termine)) {}'? – PoGibas

+0

versuchen Sie 'as.list' Wrapper um Daten in Ihrer' for' Schleife – Prem

Antwort

1

der as.list() Wrapper Lassen Sie versuchen so, dass 'Datum' Format in for Schleife erhalten wird

for (f in as.list(dates)){ 
print(str(f)) 
} 

hoffe, das hilft!

+0

Das funktioniert besser als das, was ich tat, aber aus irgendeinem Grund überspringt die Hälfte meines Codes in der Schleife? Unsicher, warum ... Vielleicht ist es mein Code? Gibt es eine Grenze für das, was in eine for-Schleife gehen kann? – Fiona

+0

Ich glaube nicht, dass 'for' Schleife hat eine Iterationsgrenze. – Prem

0

Versuchen:

StartDate<-"2017-07-01" 
EndDate<- "2017-07-05" 
dates<-seq(as.POSIXct(StartDate, format="%Y-%m-%d"), as.POSIXct(EndDate, format="%Y-%m-%d"), by='days') 

for (f in dates){ 
print(as.POSIXct(f,origin = "1970-01-01")) 
} 
+0

Warum ist der Ursprung "1960-01-01"? – Fiona

+0

Sie können es ändern, aber normalerweise verwenden wir ein Standarddatum: 1970-01-01 (ich habe einen Fehler gemacht). Sie können sehen: https://stackoverflow.com/questions/37690722/how-to-get-origin-from-posixct-object – Sax

Verwandte Themen