Convertir fecha a día de la semana en R

En este artículo, vamos a ver diferentes enfoques para convertir la fecha en día de la semana en el lenguaje de programación R.

Los tres tipos diferentes de enfoques para convertir fechas dadas al día de la semana en lenguaje R son los siguientes:

  • Conversión de fecha a día de la semana usando la función de días de la semana
  • Conversión de fecha a día de la semana usando la función strftime
  • Conversión de fecha a día de la semana usando la función as.POSIXlt

Método 1: usar la función de días de la semana() .

En este método, estamos convirtiendo la fecha en el día de la semana, el usuario debe llamar a la función weekdays(), que es una función integrada en el lenguaje R, y pasarle los vectores de la fecha. Al hacer esto, devolverá los días de la semana de cada fecha dada al usuario.

función de días de la semana: Esta función se utiliza para extraer el día de la semana, el mes o el trimestre, o la hora juliana.

Sintaxis: días de la semana (x, abreviar)

Parámetros:

  • x: un objeto que hereda de la clase “POSIXt” o “Date”.
  • abreviar: vector lógico (posiblemente reciclado). ¿Se deben abreviar los nombres?

Ejemplo:

En este ejemplo, convertiremos la fecha que está almacenada en un vector de tamaño cuatro a los días de la semana usando la función del día de la semana en lenguaje r.

R

date <- data.frame(date = as.Date(c("2020-10-11","2000-10-01",
                                    "1999-12-08","2021-05-05")))
weekday <- weekdays(date$date)                
print(weekday)

Producción:

[1] "Sunday"    "Sunday"    "Wednesday" "Wednesday"

Método 2: Usar la función strftime() .

En este método de conversión de la fecha de la semana, el usuario debe llamar a la función strftime(), que es una función incorporada y pasarle los parámetros respetados, y luego, a cambio, la función le dará los días de la semana de la fecha dada. al usuario

Función strftime: esta función se utiliza para convertir entre representaciones de caracteres y objetos de las clases «POSIXlt» y «POSIXct» que representan fechas y horas del calendario.

Sintaxis: strptime(x, formato, tz = “”)

Parámetros:

  • x: un objeto a convertir: un vector de caracteres para strptime, un objeto que se puede convertir a «POSIXlt» para strftime.
  • tz: una string de caracteres que especifica la zona horaria que se utilizará para la conversión.
  • formato: Una string de caracteres. El valor predeterminado para los métodos de formato es «%Y-%m-%d %H:%M:%S» si algún elemento tiene un componente de tiempo que no es medianoche, y «%Y-%m-%d» en caso contrario.

Ejemplo:

En este ejemplo, convertiremos la fecha dada que está almacenada en un vector de tamaño cuatro a los días de la semana usando la función strftime en lenguaje R.

R

date <- data.frame(date = as.Date(c("2020-10-11","2000-10-01",
                                    "1999-12-08","2021-05-05")))
weekday <- strftime(date$date, "%A")
print(weekday)

Producción:

[1] "Sunday"    "Sunday"    "Wednesday" "Wednesday"

Método 3: Usar la función as.POSIXlt()

En este método de convertir la fecha al día de la semana, los usuarios deben llamar a la función as.POSIXlt(), que es una función incorporada, aquí el usuario debe pasar los parámetros requeridos a esta función y con esto a cambio, el el usuario obtendrá los días de la semana de todas las fechas dadas.

Función as.POSIXlt(): Esta función se utiliza para manipular objetos de las clases “POSIXlt” y “POSIXct” que representan fechas y horas del calendario.

Sintaxis: as.POSIXlt(x, tz = “”, …)

Parámetros:

  • x:-R objeto a convertir.
  • tz:-especificación de zona horaria que se usará para la conversión si se requiere una. Específico del sistema, pero «» es la zona horaria actual y «GMT» es UTC
  • …:-argumentos adicionales para ser pasados ​​ao desde otros métodos.

En este ejemplo, convertiremos la fecha dada que está almacenada en un vector de tamaño cuatro a los días de la semana usando la función as.POSIXlt() en lenguaje R.

R

date <- data.frame(date = as.Date(c("2002-12-11",   
                                        "2000-07-11",
                                        "1900-12-11",
                                        "2015-11-11")))
  
weekday <-c("Monday", "Tuesday", "Wednesday",
                "Thursday", "Friday", "Saturday",
                "Sunday")[as.POSIXlt(date$date)$wday]
print(weekday)

Producción:

[1] "Wednesday" "Tuesday"   "Tuesday"   "Wednesday"

Publicación traducida automáticamente

Artículo escrito por geetansh044 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *