Desidera modificare il formato della data. Il mio frame di dati è mostrato sotto e vorrei cambiare tutti i formati di data a "%d/%m/%Y"
.Cambiare il formato della data in "% d /% m /% Y"
df:
id bdate wdate ddate
1 09/09/09 12/10/09 2009-09-27
Desidera modificare il formato della data. Il mio frame di dati è mostrato sotto e vorrei cambiare tutti i formati di data a "%d/%m/%Y"
.Cambiare il formato della data in "% d /% m /% Y"
df:
id bdate wdate ddate
1 09/09/09 12/10/09 2009-09-27
df$ddate<-strftime(df$ddate,"%d/%m/%Y")
df$bdate<-strftime(strptime(df$bdate,"%d/%m/%y"),"%d/%m/%Y")
df$wdate<-strftime(strptime(df$wdate,"%d/%m/%y"),"%d/%m/%Y")
df$ddate <- format(as.Date(df$ddate), "%d/%m/%Y")
predefinite R
azione è per il trattamento di stringhe come fattori. Naturalmente, una configurazione individuale può differire dai valori predefiniti. È buona norma modificare i valori delle variabili su character
e convertirli in date
. Uso spesso il pacchetto chron
: è bello, semplice e ciò che conta di più, fa il lavoro. L'unico svantaggio di questo pacchetto risiede nella gestione del fuso orario.
Se non si dispone di chron
installato, fare:
install.packages("chron")
# load it
library(chron)
# make dummy data
bdate <- c("09/09/09", "12/05/10", "23/2/09")
wdate <- c("12/10/09", "05/01/07", "19/7/07")
ddate <- c("2009-09-27", "2007-05-18", "2009-09-02")
# notice the last argument, it will not allow creation of factors!
dtf <- data.frame(id = 1:3, bdate, wdate, ddate, stringsAsFactors = FALSE)
# since we have characters, we can do:
foo <- transform(dtf, bdate = chron(bdate, format = "d/m/Y"), wdate = chron(wdate, format = "d/m/Y"), ddate = chron(ddate, format = "y-m-d"))
# check the classes
sapply(foo, class)
# $id
# [1] "integer"
# $bdate
# [1] "dates" "times"
# $wdate
# [1] "dates" "times"
# $ddate
# [1] "dates" "times"
C'est ca ... dovrebbe fare il trucco ...
difficilmente dipende da quello che in realtà avete nella vostra 'data.frame'. Questi campi sono 'Date',' character', 'factor'? Se vuoi cambiare la modalità di stampa di 'data.frame', potresti sovraccaricare uno dei metodi' print' ('print.Date' o' print.POSIXlt'). – Marek
Ciao Marek, Queste sono le date! Bazon – Bazon