I want to make precipitation data analysis for the Latvian territory. I only have meteorological stations and reanalysis data. My data from meteorological stations are in the format:

year  month  day    time      station1 station2 station3
2013    1     1    03.00        0                 0.1
2013    1     1    06.00        0.1               0.2
2013    1     1    15.00        0       0.1         0
2013    1     1    18.00        0.2     0         0.3
2013    1     2     03.00        0                 0.4

I also have a file with coordinates for meteorological stations. And data from reanalysis is in format

> head(data)
  longitude latitude   time value
1     -27.0      -27 990555     0
2     -25.5      -27 990555     0
3     -24.0      -27 990555     0
4     -22.5      -27 990555     0
5     -21.0      -27 990555     0
6     -19.5      -27 990555     0

Edited: My main questions are: 1) What can tell me if these data are similar, should I look their summary and compare, or it is better to use some tests. Could you advice methods how to compare different data. 2) If there are missing values, should I just get them out and then analyse data?
3) Maybe someone can advice some tutorial with R code? Can someone tell me how to decode time values from format like 990555 (I need formula or function for R)?

  • 2
    $\begingroup$ Unclear what you're asking - we need to know what you actually want to do with this data; what you want to find out. voting to close, but perhaps you could add some more detail and see if it gets reopened? $\endgroup$ May 27, 2014 at 12:50
  • $\begingroup$ Hi Student, thanks for the revisions and clarification. Now that I can see what you're asking, I think that you might be better off asking the first half on statistics.SE, and for the second half doing some searching (I think Stackoverflow would want to see some more research before helping) $\endgroup$ May 29, 2014 at 8:52

1 Answer 1

  • Date/timestamps are tricky to convert without further information; are the values you show days (unlikely, if 990555 is your date/time value), hours, seconds? See if you can figure out the system used (either by knowing which date your timestamp is supposed to represent, or looking at the step sizes for the data); this will generally give you an idea of what is being represented, and how to convert to an actual date.
  • Coordinate and long/lat are basically the same thing, only built up from decimals or hours/minutes (e.g. 0.5 representing 30 minutes). Conversion can be found http://transition.fcc.gov/mb/audio/bickel/DDDMMSS-decimal.html, for instance. Mind that other coordinate systems are also possible, which will make the conversion different; again, this is important to figure out before you can convert your data.
  • Comparison options will depend on: 1) whether your data corresponds (do you have measurements on the same date/time, as well as the same location?), 2) what you are interested in.
  • $\begingroup$ Thank you for help! My data is representing "hour since 1900-01-01 00:00:00" $\endgroup$
    – Student
    May 27, 2014 at 9:15
  • $\begingroup$ In that case, for example: 990555/24 = 41273.125 days since 1-1-1900. You can calculate the actual date from that manually (keep in mind to account for leap years, which may be quite troublesome). Another way is to enter your "number of days since 1900" in excel and converting the cells containing these values from a number to a date/time format, which will do the conversion for you (in this case resulting in 30-12-2012 3:00). $\endgroup$
    – Pytrik
    May 27, 2014 at 17:42
  • 1
    $\begingroup$ @Student: Here's a way to make sure your computations are correct, using Wolframm: "1-1-1900 + 990555 hours" = Jan 1, 2013; this assumes Wolframm is correct, which I'm pretty sure they are, though you could always find another source too. $\endgroup$
    – blunders
    May 27, 2014 at 22:44
  • $\begingroup$ Blunders, your answer is correct. But how you got it? Can you write a formula? $\endgroup$
    – Student
    May 28, 2014 at 15:46
  • $\begingroup$ @Student To stay in R you can use this snippet as.POSIXct(990555*3600, origin="1900-01-01 00:00:00"). The standard to represent time in R and in most modern languages is POSIX and in this standard time is represented in seconds not hours, hence the multiplication by 3600. $\endgroup$
    – plannapus
    Jun 16, 2014 at 8:32

Not the answer you're looking for? Browse other questions tagged or ask your own question.