[R-es] Asignar número de semana

Rubén Coca ruben.coca en gmail.com
Mar Ene 10 00:25:04 CET 2017


Gracias a todos por las respuestas.
Por si a alguien le interesa expongo un descubrimiento que me ha
solucionado el problema:
la función de lubridate isoweek() realiza el cambio de número de semana el
lunes, tal y como necesitaba (aunque desconozco la razón), mientras que la
función week() empieza a contabilizar como inicio de la semana 1 la fecha 1
de enero, por lo que el cambio de número de semana siempre dependerá del
día de la semana en el que se dio el 1 de enero. Por su parte, y como
curiosidad, la función wday() indica que el día 1 de la semana es el
domingo.

Un saludo

2017-01-10 0:08 GMT+01:00 <javier.ruben.marcuzzi en gmail.com>:

> Perdón, me confundí, a usted no le interesa el mes, solo el día, y desde
> este conocer en que semana del año está.
>
>
>
> Pero sin embargo hay algo que no me cierra.
>
>
>
> Por ejemplo del aporte de Carlos Ortega para inicializar coloca
>
>
>
> isWed <- dmy(paste("0", as.character(i), "/01/", year(formattedDate), sep = ""))
>
> ¿coloca el día 0/01/2017? Si tenemos en cuenta este año.
>
>
>
> Posiblemente funcione, pero libridate inicia la semana el domingo, ¿Cómo
> hace para la primer semana del año? Porque no todos los años comienzan el
> domingo, o desde la otra punta, el 31 de diciembre es domingo, se inicia la
> última semana del año, y el día lunes es el primero, de en ese caso es la
> primer semana del año nuevo (no inicia el domingo, habría dos inicios de
> semana en días consecutivos), y como está en el algoritmo, esta parte no me
> cierra del todo
>
> firstWed <- day(isWed)
>
>   if (firstWed > 1) {
>
>     firstWeek <- 2
>
>   }
>
>   else {
>
>     firstWeek <- 1
>
>   }
>
> ¿Da correcto o hay un problema? Habría que probarlo, yo no estoy seguro.
>
>
>
> Javier Rubén Marcuzzi
>
>
>
> *De: *Carlos Ortega <cof en qualityexcellence.es>
> *Enviado: *lunes, 9 de enero de 2017 19:18
> *Para: *Rubén Coca <ruben.coca en gmail.com>
> *CC: *Lista R <r-help-es en r-project.org>
> *Asunto: *Re: [R-es] Asignar número de semana
>
>
>
> Hola,
>
>
>
> Mira esto, que viene el código que puedes ajustar para considerar el
>
> comienzo de la semana el día que quieras. En el ejemplo consideran el
>
> miércoles...
>
>
>
> http://stackoverflow.com/questions/34617056/r-week-
> number-from-date-starting-on-a-friday
>
>
>
> Saludos,
>
> Carlos Ortega
>
> www.qualityexcellence.es
>
>
>
> El 9 de enero de 2017, 22:51, Rubén Coca <ruben.coca en gmail.com> escribió:
>
>
>
> > Hola a todos.
>
> > Estoy tratando de asignar el número de semana del año a una serie de
> fechas
>
> > y me encuentro con que el paquete lubridate considera como día de inicio
> de
>
> > la semana el domingo en lugar del lunes.
>
> > Lo que se me ha ocurrido es crear una tabla auxiliar de fechas con los
>
> > campos: 'Fecha desde', 'Fecha hasta' y 'Semana ISO' tal que así:
>
> > 'Fecha desde', 'Fecha hasta', 'Semana ISO'
>
> > 28/12/2015, 03/01/2016, 53
>
> > 04/01/2016, 10/01/2016, 1
>
> > 11/01/2016, 17/01/2016, 2
>
> > 18/01/2016, 24/01/2016, 3
>
> > Pero lo que es muy fácil con Excel (=buscarv(fecha;tabla;3;1)), con R no
>>
> > como hacerlo.
>
> >
>
> > ¿Alguna idea, sugerencia o forma alternativa de encarar el problema?
>
> >
>
> > Gracias por vuestra ayuda.
>
> > Rubén
>
> >
>
> >         [[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
>
>
>
>                 [[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]]



Más información sobre la lista de distribución R-help-es