¿Cómo cambiar la zona horaria predeterminada en R?

¿Cómo puedo cambiar la zona horaria predeterminada en R? Estoy trabajando con series de tiempo. Todas mis series de tiempo están definidas en la zona horaria UTC, pero si imprimo una fecha siempre se hace en la zona horaria CET / CEST.

Otra forma de hacerlo, sin cambiar todo el tiempo de la computadora, es usar el comando setenv de esta manera: Sys.setenv(TZ='GMT')

Ver este buen artículo sobre el cambio de zona horaria en R:

http://blog.revolutionanalytics.com/2009/06/converting-time-zones.html

En breve (en caso de que el enlace no esté disponible en el futuro):

 # your time string pb.txt <- "2009-06-03 19:30" # convert it to R object for London time zone pb.date <- as.POSIXct(pb.txt, tz="Europe/London") # convert it to PDT time zone format(pb.date, tz="America/Los_Angeles",usetz=TRUE) [1] "2009-06-03 11:30:00 PDT" # can be also done for many date at once d <- c("2009-03-07 12:00", "2009-03-08 12:00", "2009-03-28 12:00", "2009-03-29 12:00", "2009-10-24 12:00", "2009-10-25 12:00", "2009-10-31 12:00", "2009-11-01 12:00") t1 <- as.POSIXct(d,"America/Los_Angeles") cbind(US=format(t1),UK=format(t1,tz="Europe/London")) US UK [1,] "2009-03-07 12:00:00" "2009-03-07 20:00:00" [2,] "2009-03-08 12:00:00" "2009-03-08 19:00:00" [3,] "2009-03-28 12:00:00" "2009-03-28 19:00:00" [4,] "2009-03-29 12:00:00" "2009-03-29 20:00:00" [5,] "2009-10-24 12:00:00" "2009-10-24 20:00:00" [6,] "2009-10-25 12:00:00" "2009-10-25 19:00:00" [7,] "2009-10-31 12:00:00" "2009-10-31 19:00:00" [8,] "2009-11-01 12:00:00" "2009-11-01 20:00:00" 

¿Qué sistema operativo?

En general, consulte la help(Startup) ya que puede establecer valores a través de .Renviron y su variante para todo el sitio.

Pero probablemente debas configurar esto para tu máquina como un todo, lo que bajo Linux puede alterar el archivo /etc/timezone , y en Windows establecerías una variable de entorno para todo el sistema TZ .

Por último, si su visualización formateada de fechas y horas muestra CET / CEST, puede que ya esté configurado como un valor predeterminado del sistema y su pregunta realmente es cómo configurar correctamente sus horas UTC en sus objetos R.

Encontré que la respuesta de @ Dirk es muy útil para Ubuntu, así que pensé en ampliarla.

Desde la help(Startup) vemos que las variables de entorno están establecidas por el archivo Renviron.site :

A menos que se haya proporcionado –no-environ en la línea de comando, R busca archivos de sitio y de usuario para procesar la configuración de variables de entorno. El nombre del archivo de sitio es el indicado por la variable de entorno R_ENVIRON; si esto no está configurado, se usa ‘R_HOME / etc / Renviron.site’

Podemos encontrar el camino a R_HOME usando la función R.home() , que en mi caso devuelve:

 > R.home() [1] "/usr/lib/R" 

Por lo tanto, el archivo Renviron.site se encuentra (para mí) en /usr/lib/R/etc/ .

Simplemente abra este archivo e inserte la línea:

 TZ="UTC" 

o similar.

-Cambiar toda la zona horaria del sistema operativo es un mazo para lo que básicamente se pretende cambiar los algoritmos de progtwigción. -Cambiar el archivo de inicio no se presta para compartir código a través de git.

¿Hay alguna otra forma de hacerlo en el tiempo de ejecución del script para la sesión R?

    Intereting Posts