2012-10-08 32 views
8

Tengo un conjunto de datos con el número de semanas desde el comienzo del año (%W), lo que me gustaría convertir en fechas con el fin de trazar usando la fecha en el eje xConversión de semana del año para las fechas

dat <- structure(data.frame(week = c(22, 34, 15), year = c(2009, 2009, 2010), x = c(3.4, 5.2, 1.3))) 

Intento convertir las semanas basadas en earlier questions aquí, pero terminan obteniendo "YYYY-10-01" para cada fecha.

as.Date(paste("01", dat$week, dat$year, sep = "-"), format = "%d-%W-%Y") 

¿Por qué es esto y cómo puede hacerlo bien?

Respuesta

10

probar este lugar:

as.Date(paste("1", dat$week, dat$year, sep = "-"), format = "%w-%W-%Y") 

Una semana y un año no se especifica una fecha, por lo que no necesita un "día", pero es necesario el "día de la semana", o %w, en lugar de "día del mes", o %d. En este caso, utilicé el lunes (es decir, 1). Además, aparentemente %w no le gustan los ceros a la izquierda.

Cuestiones relacionadas