2014-06-16 10 views
5

posso inizializzare un data.frame tramiteCome inizializzare data.frame con colonna di tipo POSIXct?

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

Ma come faccio a definire una colonna di tipo POSIXct?

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

non funziona.

+2

Forse 'df <- data.frame (a = numerica(), b = carattere(), c = as.POSIXct (carattere()))' fa quello che vuoi? – konvas

+0

@konvas Grazie, era quello che stavo cercando. Puoi scriverlo come risposta e ti darò la ricompensa. – JerryWho

+0

OK felice che funzioni. Grazie – konvas

risposta

5

Si può provare

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

Una punta supplementare per l'inizializzazione di cui sopra: Se si inizia rbind() attività per aggiungere righe a questo frame di dati vuota, è possibile riscontrare un errore simile al seguente se si segue questa modello:

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

fine ho scoperto che la rimozione delle stringsAsFactors = FALSE consentito per il valore POSIXct (sia tempo intero e il fuso orario) per trasferire al bersaglio DF.

oneDF <- rbind(oneDF,twoDF) 

esaminare il risultato:

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