Hola: Tengo unos datos con varias fechas y horas como texto (son independientes: las horas no corresponden al día de la fecha). Seria algo como: DATOS <- data.frame(FECHA=c("31/10/2014","23/10/2014", "31/10/2014"), HORA=c("01:23", "12:43", "23:09")) No tengo problema de convertir la fecha para poder realizar cálculos, ya que existe mucha información en Internet: DATOS$FECHA = as.Date(DATOS$FECHA, format="%d/%m/%Y")> str(DATOS)'data.frame': 3 obs. of 2 variables: $ FECHA: Date, format: "2014-10-31" "2014-10-23" ... $ HORA : Factor w/ 3 levels "01:23","12:43",..: 1 2 3 Pero no encuentro una función similar (as.Time) para HH:MM. Como puedo convertir el factor HORA en una hora de R para poder hacer cálculos (p. ej. diferencia de horas)? (a ser posible, sin necesidad de instalar el enésimo paquete). Muchas gracias! Saludos
Hola, La alternativa que te propongo es utilizando ese "enésimo paquete"...: #--------------------------------> library(lubridate) > DATOS <- data.frame(FECHA=c("31/10/2014","23/10/2014", "31/10/2014"),+ HORA=c("01:23", "12:43", "23:09"))> > library(lubridate) > fechas <- dmy(DATOS$FECHA) > horas <- hm(DATOS$HORA) > > fechas[1] "2014-10-31 UTC" "2014-10-23 UTC" "2014-10-31 UTC"> horas[1] "1H 23M 0S" "12H 43M 0S" "23H 9M 0S" #------------------------------ Saludos, Carlos Ortega www.qualityexcellence.es El 2 de julio de 2015, 16:20, Griera <griera en yandex.com> escribió:> Hola: > > Tengo unos datos con varias fechas y horas como texto (son independientes: > las horas no corresponden al día de la fecha). Seria algo como: > > DATOS <- data.frame(FECHA=c("31/10/2014","23/10/2014", "31/10/2014"), > HORA=c("01:23", "12:43", "23:09")) > > No tengo problema de convertir la fecha para poder realizar cálculos, ya > que existe mucha información en Internet: > > DATOS$FECHA = as.Date(DATOS$FECHA, format="%d/%m/%Y") > > > str(DATOS) > 'data.frame': 3 obs. of 2 variables: > $ FECHA: Date, format: "2014-10-31" "2014-10-23" ... > $ HORA : Factor w/ 3 levels "01:23","12:43",..: 1 2 3 > > Pero no encuentro una función similar (as.Time) para HH:MM. Como puedo > convertir el factor HORA en una hora de R para poder hacer cálculos (p. > ej. diferencia de horas)? (a ser posible, sin necesidad de instalar el > enésimo paquete). > > Muchas gracias! Saludos > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >-- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]
Muchas gracias, Carlos! Instalado el "enésimo paquete" (si no hay más remedio . . .) y perfecto!! Solucionado!! (le tengo cierta alergia a los enésimos paquetes: hasta ahora he sido usuario ocasional de R y más de uno que he utilizado, de repente desaparece de r-cran). Gracias por la rapidez y saludos. On Thu, 2 Jul 2015 16:35:25 +0200 Carlos Ortega <cof en qualityexcellence.es> wrote:> Hola, > > La alternativa que te propongo es utilizando ese "enésimo paquete"...: > > #-------------------------------- > > library(lubridate) > > DATOS <- data.frame(FECHA=c("31/10/2014","23/10/2014", "31/10/2014"), > + HORA=c("01:23", "12:43", "23:09")) > > > > library(lubridate) > > fechas <- dmy(DATOS$FECHA) > > horas <- hm(DATOS$HORA) > > > > fechas > [1] "2014-10-31 UTC" "2014-10-23 UTC" "2014-10-31 UTC" > > horas > [1] "1H 23M 0S" "12H 43M 0S" "23H 9M 0S" > > #------------------------------ > > Saludos, > Carlos Ortega > www.qualityexcellence.es > > > > > > El 2 de julio de 2015, 16:20, Griera <griera en yandex.com> escribió: > > > Hola: > > > > Tengo unos datos con varias fechas y horas como texto (son independientes: > > las horas no corresponden al día de la fecha). Seria algo como: > > > > DATOS <- data.frame(FECHA=c("31/10/2014","23/10/2014", "31/10/2014"), > > HORA=c("01:23", "12:43", "23:09")) > > > > No tengo problema de convertir la fecha para poder realizar cálculos, ya > > que existe mucha información en Internet: > > > > DATOS$FECHA = as.Date(DATOS$FECHA, format="%d/%m/%Y") > > > > > str(DATOS) > > 'data.frame': 3 obs. of 2 variables: > > $ FECHA: Date, format: "2014-10-31" "2014-10-23" ... > > $ HORA : Factor w/ 3 levels "01:23","12:43",..: 1 2 3 > > > > Pero no encuentro una función similar (as.Time) para HH:MM. Como puedo > > convertir el factor HORA en una hora de R para poder hacer cálculos (p. > > ej. diferencia de horas)? (a ser posible, sin necesidad de instalar el > > enésimo paquete). > > > > Muchas gracias! Saludos > > > > _______________________________________________ > > R-help-es mailing list > > R-help-es en r-project.org > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > > > -- > Saludos, > Carlos Ortega > www.qualityexcellence.es