It seems is.weekend() is unsure ? # Start R 1.9.0 with --vanilla on windows xp # load package chron> table(is.weekend(sapply(1:100, function(i){Sys.sleep(0.05);Sys.time()})))FALSE TRUE 68 32> date()[1] "Wed May 26 11:18:56 2004"> version _platform i386-pc-mingw32 arch i386 os mingw32 system i386, mingw32 status major 1 minor 9.0 year 2004 month 04 day 12 language R>[[alternative HTML version deleted]]
Matthew Dowle wrote:> It seems is.weekend() is unsure ?It is completely sure, if an object is given is.weekend() knows about as in: table(is.weekend(sapply(1:100, function(i){Sys.sleep(0.05);as.chron(Sys.time())}))) (note the as.chron() call!) Uwe Ligges> # Start R 1.9.0 with --vanilla on windows xp > # load package chron > > >>table(is.weekend(sapply(1:100, function(i){Sys.sleep(0.05);Sys.time()}))) > > FALSE TRUE > 68 32 > >>date() > > [1] "Wed May 26 11:18:56 2004" > > >>version _ > > platform i386-pc-mingw32 > arch i386 > os mingw32 > system i386, mingw32 > status > major 1 > minor 9.0 > year 2004 > month 04 > day 12 > language R > > > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at stat.math.ethz.ch mailing list > https://www.stat.math.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Thanks. When is.weekend() is given an object it doesn't know about, could a warning or error be added? At the moment, I think you're agreeing, that it silently returns a random TRUE/FALSE. -----Original Message----- From: Uwe Ligges [mailto:ligges at statistik.uni-dortmund.de] Sent: 26 May 2004 11:55 To: Matthew Dowle Cc: 'r-help at stat.math.ethz.ch' Subject: Re: [R] is.weekend() odd behaviour Matthew Dowle wrote:> It seems is.weekend() is unsure ?It is completely sure, if an object is given is.weekend() knows about as in: table(is.weekend(sapply(1:100, function(i){Sys.sleep(0.05);as.chron(Sys.time())}))) (note the as.chron() call!) Uwe Ligges> # Start R 1.9.0 with --vanilla on windows xp > # load package chron > > >>table(is.weekend(sapply(1:100, >>function(i){Sys.sleep(0.05);Sys.time()}))) > > FALSE TRUE > 68 32 > >>date() > > [1] "Wed May 26 11:18:56 2004" > > >>version _ > > platform i386-pc-mingw32 > arch i386 > os mingw32 > system i386, mingw32 > status > major 1 > minor 9.0 > year 2004 > month 04 > day 12 > language R > > > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at stat.math.ethz.ch mailing list > https://www.stat.math.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! > http://www.R-project.org/posting-guide.html
Uwe Ligges <ligges <at> statistik.uni-dortmund.de> writes:> Matthew Dowle wrote: > > > >>table(is.weekend(sapply(1:100, function(i){Sys.sleep(0.05);Sys.time()}))) > > > > FALSE TRUE > > 68 32 > > > It seems is.weekend() is unsure ? > > It is completely sure, if an object is given is.weekend() knows about as in: > > table(is.weekend(sapply(1:100, > function(i){Sys.sleep(0.05);as.chron(Sys.time())}))) > > (note the as.chron() call!)Note that converting a POSIXct to chron using as.chron uses the GMT datetime, not the datetime in your timezone. So if its the weekend in the GMT timezone but not in yours it will indicate that its the weekend. Similarly if its the weekend in your timezone but not in the GMT timezone then it will indicate its not in the weekend. If you want the result relative to your timezone convert to chron like this: now <- Sys.time() chron(unclass(as.Date(format(now)))) or even easier: chron(unclass(Sys.Date())) Now apply is.weekend to that.