Hi Dave,
your problem is that you are working with a S3 class, what is mainly a
list with naming convention. Hence it is possible to change just one
entry of the list, but it is nearly never recommendable.
So a slight change to your code should provide you the required output:
> mydaysx[select] <- mydaysx[select] + 2*24*60*60
> select <- mydaysx$wday==6
> sum(select)
[1] 0
In this case not only the entry $mday of the list is changed, but the
whole object is updated.
Cheers
Adrian
Am 14.05.2011 20:44, schrieb Dave Evens:
Dear all,
I have a question related to the POSIXlt function in R.
I have a set of dates and times, for exmaple:
startx<- as.POSIXct("2011-01-01 00:00:00")
finx<- as.POSIXct("2011-12-31 00:00:00")
daysx<- seq(startx, finx, by="24 hours")
I
want to change the dates of all the days falling on a Saturday to the
next working day (i.e. Monday). So I convert dates to POSIXlt
mydaysx<- as.POSIXlt(daysx)
Then I change select all the Saturday's and move them on to Monday
select<- mydaysx$wday==6
mydaysx$mday[select]<- mydaysx$mday[select] + 2
However,
although all the new dates (i.e. mydaysx) are actual days of the year -
the $wday have not been updated and the $mdays have not all been
corrected (i.e. those falling into the next month). So if I do
select<- mydaysx$wday==6
I still get the same set of days as before.
Is there a way to do this?
Thanks,
[[alternative HTML version deleted]]
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.