Carlos, muchas gracias, voy a probarlo. Pero me sigue intrigando por que no puedo ponerlo como elemento de un vector... Misterios del R. SI lo averiguo os lo digo. Jaume. El sáb., 15 feb. 2020 a las 19:08, Carlos Ortega (<cof en qualityexcellence.es>) escribió:> Hola, > > Una alternativa que te puede ayudar es enfocar el problema de esta otra > forma. > Puedes ir guardando tus vectores "original" en un data.frame y luego > convertirlo a fechas. > > Una vez tienes estas fechas, puedes hacer cálculos o extraer otras > variables. > > > > original<-c(2019,308,1700, 25) > > df <- data.frame( > + Year = original[1], > + DayNum = original[2], > + Hour = original[3] > + ) > > my_fecha <- strptime( paste(df$Year, df$DayNum, df$Hour, sep = ""), > "%Y%j%H" ) > > my_fecha > [1] "2019-11-04 17:00:00 CET" > > my_fecha <- strptime( paste(original[1], original[2], original[3], sep > ""), "%Y%j%H" ) > > my_fecha > [1] "2019-11-04 17:00:00 CET" > > Gracias, > Carlos Ortega > www.qualityexcellence.es > > > El sáb., 15 feb. 2020 a las 12:45, Jaume Tormo (<jautorbla en gmail.com>) > escribió: > >> Hola, >> >> Estoy encontrando un problema al intentar poner un objeto Dates en un >> vector o dataframe. >> Mi ejemplo >> # preliminares >> install.packages( lubridate ); library( lubridate ) >> v <- c(0, 0, 0) >> original<-c(2019,308,1700, 25) # c(año, día del año, hora, temperatura) >> esto sale así de un sensor de temperatura >> >> # convertimos los datos originales en algo que entienda R >> a <- years(original[1] ) >> d <- days(original[2]-1 ) # el -1 es un ajuste por como son los datos >> originales >> h <- hours( substr(original[3], 1, 2) ) >> fecha <- a+d+h # Conseguimos una fecha completa >> fecha.b <- as.Date(fecha, origin="0000-01-01" ) # convertimos la fecha >> en >> días del mes en lugar de días del año >> # mi problema >> # Si asigno fecha a un elemento de un vector me sale 0 >> v[2] <- fecha >> v[2] >> # Si asigno fecha.b a un elemento de un vector me da un error >> v[1] <- fecha.b >> Me da cosas parecidas si intento asignar un lugar en un dataframe, >> >> Entiendo que as.Date convierte la fecha en algo que tiene más de un >> elemento ¿Puede ser eso? Si es así ¿Cómo veo lo que hay dentro del objeto >> para sacar solo lo que me interese? >> >> Muchas gracias. >> >> -- >> Jaume Tormo. >> https://es.linkedin.com/in/jaumetormo >> https://acercad.wordpress.com/ >> >> [[alternative HTML version deleted]] >> >> _______________________________________________ >> 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 >-- Jaume Tormo. https://es.linkedin.com/in/jaumetormo https://acercad.wordpress.com/ [[alternative HTML version deleted]]
Estimado Jaume Tormo
En lo personal yo utilizo un enfoque como el que comenta Carlos Ortega, se
me ocurre que posiblemente funcione si a su código le coloca algo de
formato, me refiero a esta forma:
as.Date("10/21/2012", format = "%m/%d/%Y")
Javier Rubén Marcuzzi
El lun., 17 feb. 2020 a las 17:55, Jaume Tormo (<jautorbla en gmail.com>)
escribió:
> Carlos, muchas gracias, voy a probarlo.
> Pero me sigue intrigando por que no puedo ponerlo como elemento de un
> vector... Misterios del R. SI lo averiguo os lo digo.
>
> Jaume.
>
> El sáb., 15 feb. 2020 a las 19:08, Carlos Ortega (<
> cof en qualityexcellence.es>)
> escribió:
>
> > Hola,
> >
> > Una alternativa que te puede ayudar es enfocar el problema de esta
otra
> > forma.
> > Puedes ir guardando tus vectores "original" en un data.frame
y luego
> > convertirlo a fechas.
> >
> > Una vez tienes estas fechas, puedes hacer cálculos o extraer otras
> > variables.
> >
> >
> > > original<-c(2019,308,1700, 25)
> > > df <- data.frame(
> > + Year = original[1],
> > + DayNum = original[2],
> > + Hour = original[3]
> > + )
> > > my_fecha <- strptime( paste(df$Year, df$DayNum, df$Hour, sep =
""),
> > "%Y%j%H" )
> > > my_fecha
> > [1] "2019-11-04 17:00:00 CET"
> > > my_fecha <- strptime( paste(original[1], original[2],
original[3], sep
> > > ""), "%Y%j%H" )
> > > my_fecha
> > [1] "2019-11-04 17:00:00 CET"
> >
> > Gracias,
> > Carlos Ortega
> > www.qualityexcellence.es
> >
> >
> > El sáb., 15 feb. 2020 a las 12:45, Jaume Tormo (<jautorbla en
gmail.com>)
> > escribió:
> >
> >> Hola,
> >>
> >> Estoy encontrando un problema al intentar poner un objeto Dates en
un
> >> vector o dataframe.
> >> Mi ejemplo
> >> # preliminares
> >> install.packages( lubridate ); library( lubridate )
> >> v <- c(0, 0, 0)
> >> original<-c(2019,308,1700, 25) # c(año, día del año, hora,
> temperatura)
> >> esto sale así de un sensor de temperatura
> >>
> >> # convertimos los datos originales en algo que entienda R
> >> a <- years(original[1] )
> >> d <- days(original[2]-1 ) # el -1 es un ajuste por como son
los datos
> >> originales
> >> h <- hours( substr(original[3], 1, 2) )
> >> fecha <- a+d+h # Conseguimos una fecha completa
> >> fecha.b <- as.Date(fecha, origin="0000-01-01" ) #
convertimos la fecha
> >> en
> >> días del mes en lugar de días del año
> >> # mi problema
> >> # Si asigno fecha a un elemento de un vector me sale 0
> >> v[2] <- fecha
> >> v[2]
> >> # Si asigno fecha.b a un elemento de un vector me da un error
> >> v[1] <- fecha.b
> >> Me da cosas parecidas si intento asignar un lugar en un
dataframe,
> >>
> >> Entiendo que as.Date convierte la fecha en algo que tiene más de
un
> >> elemento ¿Puede ser eso? Si es así ¿Cómo veo lo que hay dentro del
> objeto
> >> para sacar solo lo que me interese?
> >>
> >> Muchas gracias.
> >>
> >> --
> >> Jaume Tormo.
> >> https://es.linkedin.com/in/jaumetormo
> >> https://acercad.wordpress.com/
> >>
> >> [[alternative HTML version deleted]]
> >>
> >> _______________________________________________
> >> 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
> >
>
>
> --
> Jaume Tormo.
> https://es.linkedin.com/in/jaumetormo
> https://acercad.wordpress.com/
>
> [[alternative HTML version deleted]]
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
[[alternative HTML version deleted]]
Muchas gracias, Probaré eso también y ya os cuento. Jaume. El lun., 17 feb. 2020 a las 22:10, Javier Marcuzzi (< javier.ruben.marcuzzi en gmail.com>) escribió:> Estimado Jaume Tormo > > En lo personal yo utilizo un enfoque como el que comenta Carlos Ortega, se > me ocurre que posiblemente funcione si a su código le coloca algo de > formato, me refiero a esta forma: > > as.Date("10/21/2012", format = "%m/%d/%Y") > > Javier Rubén Marcuzzi > > El lun., 17 feb. 2020 a las 17:55, Jaume Tormo (<jautorbla en gmail.com>) > escribió: > >> Carlos, muchas gracias, voy a probarlo. >> Pero me sigue intrigando por que no puedo ponerlo como elemento de un >> vector... Misterios del R. SI lo averiguo os lo digo. >> >> Jaume. >> >> El sáb., 15 feb. 2020 a las 19:08, Carlos Ortega (< >> cof en qualityexcellence.es>) >> escribió: >> >> > Hola, >> > >> > Una alternativa que te puede ayudar es enfocar el problema de esta otra >> > forma. >> > Puedes ir guardando tus vectores "original" en un data.frame y luego >> > convertirlo a fechas. >> > >> > Una vez tienes estas fechas, puedes hacer cálculos o extraer otras >> > variables. >> > >> > >> > > original<-c(2019,308,1700, 25) >> > > df <- data.frame( >> > + Year = original[1], >> > + DayNum = original[2], >> > + Hour = original[3] >> > + ) >> > > my_fecha <- strptime( paste(df$Year, df$DayNum, df$Hour, sep = ""), >> > "%Y%j%H" ) >> > > my_fecha >> > [1] "2019-11-04 17:00:00 CET" >> > > my_fecha <- strptime( paste(original[1], original[2], original[3], >> sep >> > ""), "%Y%j%H" ) >> > > my_fecha >> > [1] "2019-11-04 17:00:00 CET" >> > >> > Gracias, >> > Carlos Ortega >> > www.qualityexcellence.es >> > >> > >> > El sáb., 15 feb. 2020 a las 12:45, Jaume Tormo (<jautorbla en gmail.com>) >> > escribió: >> > >> >> Hola, >> >> >> >> Estoy encontrando un problema al intentar poner un objeto Dates en un >> >> vector o dataframe. >> >> Mi ejemplo >> >> # preliminares >> >> install.packages( lubridate ); library( lubridate ) >> >> v <- c(0, 0, 0) >> >> original<-c(2019,308,1700, 25) # c(año, día del año, hora, >> temperatura) >> >> esto sale así de un sensor de temperatura >> >> >> >> # convertimos los datos originales en algo que entienda R >> >> a <- years(original[1] ) >> >> d <- days(original[2]-1 ) # el -1 es un ajuste por como son los datos >> >> originales >> >> h <- hours( substr(original[3], 1, 2) ) >> >> fecha <- a+d+h # Conseguimos una fecha completa >> >> fecha.b <- as.Date(fecha, origin="0000-01-01" ) # convertimos la >> fecha >> >> en >> >> días del mes en lugar de días del año >> >> # mi problema >> >> # Si asigno fecha a un elemento de un vector me sale 0 >> >> v[2] <- fecha >> >> v[2] >> >> # Si asigno fecha.b a un elemento de un vector me da un error >> >> v[1] <- fecha.b >> >> Me da cosas parecidas si intento asignar un lugar en un dataframe, >> >> >> >> Entiendo que as.Date convierte la fecha en algo que tiene más de un >> >> elemento ¿Puede ser eso? Si es así ¿Cómo veo lo que hay dentro del >> objeto >> >> para sacar solo lo que me interese? >> >> >> >> Muchas gracias. >> >> >> >> -- >> >> Jaume Tormo. >> >> https://es.linkedin.com/in/jaumetormo >> >> https://acercad.wordpress.com/ >> >> >> >> [[alternative HTML version deleted]] >> >> >> >> _______________________________________________ >> >> 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 >> > >> >> >> -- >> Jaume Tormo. >> https://es.linkedin.com/in/jaumetormo >> https://acercad.wordpress.com/ >> >> [[alternative HTML version deleted]] >> >> _______________________________________________ >> R-help-es mailing list >> R-help-es en r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> >-- Jaume Tormo. https://es.linkedin.com/in/jaumetormo https://acercad.wordpress.com/ [[alternative HTML version deleted]]