Skip to content

Calendar week ISO (PR#14132)

2 messages · samandrew at gmx.ch, Brian Ripley

#
Hi there

=20

I use Gnu R sometimes at work.=20

=20

Unfortunately we use Windows and R has problems with getting the calendar
week number with the first week as the one which has at least 4 days. A
colleague told me that he has the same problem.=20

=20

Below you can see what I use now, for finding the right week.=20

=20

=20

Kind regards,=20

Samuel Andreas Meichtry

=20

=20

#Excel-Funktion

#=3DK=DCRZEN((A3-DATUM(JAHR(A3+3-REST(A3-2;7));1;REST(A3-2;7)-9))/7)

=20

=20

#R-Funktion

KW<-function(x){=20=20=20=20

    return(floor(

    as.numeric((x-(as.Date(ISOdate(

=20
as.numeric(format(as.Date(as.numeric(x)+3+25569-2-(as.numeric(x)-2+25569)%%7
,origin=3D"1900-01-01"),"%Y")),1,1)

    )+((as.numeric(x)-2+25569)%%7-9)-1))/7)))=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20

}

=20

tmp.d <- seq(as.Date("1970-01-01"),as.Date("2009-01-01"),"days")

df<-data.frame(TimeStamp=3Dtmp.d,KW=3DKW(tmp.d))

=20
2 days later
#
Why are you reporting a POSIX standard feature missing in your OS as a 
bug in R?  (One that is even documented on the help page.)

On more comprehensive OSes you can use the %V format of strftime. 
You could compile a replacement for Windows' strftime and link it into 
your build of R, as we have done for so many other Windows lacunae.
Then in your example use as.integer(strftime(tmp.d, "%V"))
On Fri, 11 Dec 2009, samandrew at gmx.ch wrote:

            
That is simply false: R is not responsible for the lack of standards 
compliance of Windows, and filing a bug report with Microsoft would be 
much more appropriate.