2014-06-16 8 views
5

kann ich eine data.frame überWie initialisiert man data.frame mit der Spalte vom Typ POSIXct?

df <- data.frame(a=numeric(), b=character()) 

initialisieren Aber wie definiere ich eine Spalte vom Typ POSIXct?

df <- data.frame(a=numeric(), b=character(), c=POSIXct()) 

wird nicht funktionieren.

+2

Vielleicht 'df <- data.frame (a = numeric(), b = Zeichen(), c = as.POSIXct (Zeichen()))' macht was du willst? – konvas

+0

@konvas Danke, das war, was ich gesucht habe. Du kannst es als Antwort schreiben und ich werde dir die Belohnung geben. – JerryWho

+0

OK, es funktioniert. Vielen Dank – konvas

Antwort

5

Sie können versuchen,

df <- data.frame(a=numeric(), b=character(), c=as.POSIXct(character())) 
0

Eine zusätzliche Spitze der obigen Initialisierung: Wenn Sie rbind() Aktivitäten beginnen Zeilen zu diesem leeren Datenrahmen hinzufügen möchten, können Sie einen Fehler wie die folgenden auftreten, wenn Sie diese folgen Muster:

oneDF <- rbind(oneDF,twoDF,stringsAsFactors=FALSE) 
Error in as.POSIXct.default(value) : 
    do not know how to convert 'value' to class "POSIXct" 

ich entdeckte schließlich, dass die stringsAsFactors = FALSE erlaubt für den POSIXct Wert (integer sowohl Uhrzeit und Zeitzone) Entfernen DF an das Ziel zu übertragen.

oneDF <- rbind(oneDF,twoDF) 

Untersuchen des Ergebnisses:

unclass(oneDF$mytime) 
[1] 1282089600 
attr(,"tzone") 
[1] "GMT"