Thanks Gabor,
You're right. The problem comes from the environment variable TZ. I just
tried the Sys.getenv("TZ") and it's nothing there. After I have set the
environment variable TZ as the same as the data, let's say
Sys.setenv(TZ="GMT+1"), the problem is gone.
In order to complete the problem I've mentioned, here are the data and
the code:
data01.txt
% time[GMT+1:00] Temperature[°C]
00:00:00 01.01.2007, 8.0250
01:00:00 01.01.2007, 8.0167
02:00:00 01.01.2007, 10.0917
03:00:00 01.01.2007, 8.6750
04:00:00 01.01.2007, 6.3250
data02.txt
% time[GMT+1:00] Conductance[µS]
00:00:00 01.01.2007, 257.58
01:00:00 01.01.2007, 239.92
02:00:00 01.01.2007, 234.00
03:00:00 01.01.2007, 220.00
04:00:00 01.01.2007, 206.92
data01 <- read.zoo("data01.txt", sep=",", format="%H:%M:%S %d.%m.%Y",
tz="GMT+1", strip.white=TRUE, skip=1)
data02 <- read.zoo("data02.txt", sep=",", format="%H:%M:%S %d.%m.%Y",
tz="GMT+1", strip.white=TRUE, skip=1)
merge.zoo(data01, data02)
Besides, thanks for your recommendation, and I'll have a check the R
News 4/1.
Regards,
Keith
Gabor Grothendieck wrote:
Without reproducible code (that means we can copy your code from your
post, paste it into our session and see the same problem that you see)
there is not much that can be said that addresses your specific
situation but in terms of general advice:
- the inappropriate use of time zones is a frequent source of errors
in R for the unwary and you should read R News 4/1 to find out more
about this.
- if after reading that you still want to use POSIXct your best bet is
to set the time zone of your session to GMT and work entirely in GMT:
Sys.setenv(TZ = "GMT")
On Sun, Mar 7, 2010 at 12:20 PM, Keith <kigio...@gmail.com> wrote:
Dear R-users,
I have two regular hourly time series data which were recorded in time zone
GMT+1, and now I would like to merge them together for further analyses.
Here I used zoo and merge.zoo for my purposes and everything worked fine
except the timestamp shifted 2 hours after merging which bugs me a little
bit. Here is the example:
data01
00:00:00 01.01.2007, 8.0250
01:00:00 01.01.2007, 8.0167
02:00:00 01.01.2007, 10.0917
03:00:00 01.01.2007, 8.6750
04:00:00 01.01.2007, 6.3250
data02
00:00:00 01.01.2007, 257.58
01:00:00 01.01.2007, 239.92
02:00:00 01.01.2007, 234.00
03:00:00 01.01.2007, 220.00
04:00:00 01.01.2007, 206.92
which are both read into zoo object, data01 and data02, separately by
setting tz = "GMT+1". However, while merging function is operated, the
result is
merge.zoo(data01, data02)
data01 data02
2007-01-01 02:00:00 8.0250 257.58
2007-01-01 03:00:00 8.0167 239.92
2007-01-01 04:00:00 10.0917 234.00
2007-01-01 05:00:00 8.6750 220.00
2007-01-01 06:00:00 6.3250 206.92
which is 2 hours shifted comparing to the original data. I am wondering if
it's the problem of tz parameter. Hence, I re-read the data by setting tz =
"GMT", and the merging result is
merge.zoo(data01, data02)
data01 data02
2007-01-01 01:00:00 8.0250 257.58
2007-01-01 02:00:00 8.0167 239.92
2007-01-01 03:00:00 10.0917 234.00
2007-01-01 04:00:00 8.6750 220.00
2007-01-01 05:00:00 6.3250 206.92
which is 1 hour shifted. I only noticed this but don't know why and how to
fix it. Does anyone have idea about this issue?
Best regards,
Keith
______________________________________________
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.