Group Abstract Group Abstract

Message Boards Message Boards

Combine TimeSeriesThread and WeatherData?

POSTED BY: Christopher Fox
4 Replies
POSTED BY: Christopher Fox

Hi Christopher,

in your example above (taken from the documentation) both TimeSeries describe data belonging to the identical date range! So an operation (subtraction here) can be done "date-wise", i.e. (value1 at some date) - (value2 at the same date). In your original problem you do not have this situation, but just the opposite: Every of your data is associated with a different date. It is basically the same as if you would try to do this:

goog12 = FinancialData["GOOGL", {"Jan. 1, 2012", "Dec. 31, 2012"}];
appl13 = FinancialData["AAPL", {"Jan. 1, 2013", "Dec. 31, 2013"}];
DateListPlot[TimeSeriesThread[First[#] - Last[#] &, {goog12, appl13}]]

(This was the point I tried to make in my first reply.) And therefore - at least according to my understanding - the application of TimeSeriesThread does not make sense here.

Regards -- Henrik

POSTED BY: Henrik Schachner

Thank you, Henrik.

I realized my "off by one" error on my drive in to work this morning as I was thinking about this problem further.

There's an example of TimeSeriesThread that is based on calendar dates from FinancialData:

goog = FinancialData["GOOGL", "2012"];
appl = FinancialData["AAPL", "2012"];
DateListPlot[TimeSeriesThread[First[#] - Last[#] &, {goog, appl}]]

Any thoughts as to why this works, but not a WeatherData?

Thanks again for your help.

POSTED BY: Christopher Fox

Hi Christopher,

I guess TimeSeriesThread is not suitable for your problem, because the output you want cannot be assigned to a specific date but just to a month in general. So the simplest solution would probably be to extract just the temperatures (which are sorted in monthly order anyway):

wd = WeatherData["Syracuse", "MaxTemperature", {{#, 1, 1}, {#, 12, 31}, "Month"}] & /@ Range[2000, 2017];
meanTemps = Mean /@ Transpose[Map[Last, Normal@wd, {2}]];
ListLinePlot[meanTemps, AxesLabel -> {"month", Automatic}]

By they way: The number in question is 18 (i.e. Range[2000, 2017] // Length)

I hope this helps, regards -- Henrik

POSTED BY: Henrik Schachner
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard