On Thu, 14 Apr 2011, Katrina Bennett wrote:

Hi Achim,

Yes, this worked. I added the two strings

regts.start <- as.Date(regts.start)
regts.end <- as.Date(regts.end)

and changed the frequency to 1 in my zooreg call.

The window call now works perfectly.

I'm still wrapping my head around POSIXct and ISOdatetime and how they
need to be applied appropriately!

See

  Grothendieck & Petzoldt (2004). Date and Time Classes in R.
  R News, 4(1), 29-32. http://www.R-project.org/doc/Rnews/

for a good introduction.

Also there was just a related JSS publication:

  Garrett Grolemund, Hadley Wickham (2011).
  Dates and Times Made Easy with lubridate.
  Journal of Statistical Software, 40(3), 1-25.
  http://www.jstatsoft.org/v40/i03/.

Best,
Z

Thank you,

Katrina

On Thu, Apr 14, 2011 at 12:26 AM, Achim Zeileis
<achim.zeil...@uibk.ac.at> wrote:
On Wed, 13 Apr 2011, Katrina Bennett wrote:

Hello, I have a following time series data

head(mend.dat)

ID PARAM Year Month Day Value SYM
1 15052500     1 1965     5  15   128   A
2 15052500     1 1965     5  16   135   A
3 15052500     1 1965     5  17   157   A
4 15052500     1 1965     5  18   176   A
5 15052500     1 1965     5  19   198   A
6 15052500     1 1965     5  20   241   A


I have loaded these data into as a zooreg object. The entire time
series runs from 1965-05-15 until 2010-12-31.

I have generated dates using ISOdatetime.

regts.start <- ISOdatetime(year.start, mo.start, day.start, hour=0,
min=0, sec=0, tz="GMT")
regts.end <- ISOdatetime(year.end, mo.end, day.end, hour=0, min=0,
sec=0, tz="GMT")

Here, you use "POSIXct" for your time index, below in the window() call you
use "Date". The latter is more appropriate here because you appear to have
daily data (and not intraday data).

Thus, you can do

regts.start <- as.Date(regts.start)

or create it from scratch via

regts.start <- as.Date("1965-05-15")

and analogously for regts.end.

The deltat in the zooreg() call is then simply 1.

Then, I generate a zoo time series from the data.

zts <- zooreg(mend.dat$Value, start = regts.start, end = regts.end,
frequency = 1, deltat = 86400)

I now want to subset using window.

window(zts, start=as.Date("2000-01-01"), end=as.Date("2000-01-02"))

This results in the following error message.


Data:
factor(0)
1496 Levels:  100 1000 10000 101 1010 10100 102 1020 103 1030 104 1040
105 1050 10500 106 1060 107 1070 108 1080 ... Eqp

Index:
character(0)
Warning messages:
1: In which(in.index & all.indexes >= start & all.indexes <= end) :
 Incompatible methods ("Ops.POSIXt", "Ops.Date") for ">="
2: In which(in.index & all.indexes >= start & all.indexes <= end) :
 Incompatible methods ("Ops.POSIXt", "Ops.Date") for "<="


Why is this happening?

Thanks for your help.

Katrina Bennett

______________________________________________
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.





--
Katrina E. Bennett
PhD Student
University of Alaska Fairbanks
International Arctic Research Center
930 Koyukuk Drive, PO Box 757340
Fairbanks, Alaska 99775-7340
907-474-1939 office
907-385-7657 cell
kebenn...@alaska.edu


Personal Address:
UAF, PO Box 752525
Fairbanks, Alaska 99775-2525
bennett.katr...@gmail.com
______________________________________________
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.

Reply via email to