¿Cómo convierto una cadena en fecha y día en R?

Tengo un conjunto de datos con 10 columnas, una de las cuales es la fecha en el siguiente formato

10-MAR-12 00.00.00.000000000

Me gustaría convertir esto en un formato de datos que se lea como una fecha y no como una cadena en el siguiente formato

10/03/12

También me gustaría que hubiera una columna adicional que diga qué día de la semana es

Luego me gustaría filtrar ciertos días o fechas y crear un subconjunto de mis datos.

Soy un principiante en R, por lo que se agradece cualquier ayuda.

preguntado el 22 de mayo de 12 a las 15:05

1 Respuestas

Echa un vistazo a ?strptime para opciones de formato y as.Date or as.POSIXct para que la función convierta. Además, no se sorprenda si su pregunta es rechazada o cerrada, ya que esta es una pregunta común y las respuestas se pueden encontrar en SO o en una búsqueda rápida en Google.

Específicamente:

format(as.Date(tolower('10-MAR-12 00.00.00.000000000'), format='%d-%b-%y'), format='%d/%m/%y')

debería darle el formato que está buscando. Si desea un tipo de fecha, debe quitarse el exterior format.

contestado el 22 de mayo de 12 a las 15:05

Gracias, estaba tratando de usar strptime, sin embargo, estoy más atascado en agregar esto nuevamente a mi conjunto de datos y agregar columnas adicionales. Tenga en cuenta que soy un principiante COMPLETO en R (comencé a usarlo ayer) - user1407670

Hay muchas excelentes recursos allí afuera. Comenzaría allí y trabajaría con algunos ejemplos. Asumiendo que sus datos son un data.frame , que son dat (Comprueba con str) puede agregar columnas como: dat$newcol <- 'foo'. Pero busque en Google la introducción a R y lea un montón. ¡Te ahorrarás horas de dolores de cabeza! - Justin

¡Intenté lo siguiente e imprimí un montón de fechas en el mismo formato que antes con muchos 0 todavía! :( format(depdateold,as.Date(tolower('10-MAR-12 00.00.00.000000000'),format='%d-%b-%y'), format='%d/%m/%y' ) - user1407670

su vector de fecha se llama depdateold? ponlo en el lugar de la fecha larga que escribí. depdatenew <- as.Date(tolower(depdateold), format='%d-%b-%y'). Entonces revisa str(depdatenew) para ver el formato de su nuevo vector. - Justin

¿Filtrar? tendras que ser mas especifico. Y probablemente deberías hacer otra pregunta por separado. Pero sugeriría leer y tal vez comenzar con un problema más simple de resolver. - Justin

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.