Data from Internet Sources
Download daily mean temperatures for the past year for the Great Lakes.
In[1]:=
![Click for copyable input](assets.en/data-from-internet-sources/In_111.png)
rawdata =
Import["http://coastwatch.glerl.noaa.gov/ftp/glsea/avgtemps/glsea-\
temps_1024.dat", "Data"];
The observations begin from row 11.
In[2]:=
![Click for copyable input](assets.en/data-from-internet-sources/In_112.png)
rawdata[[;; 11]]
Out[2]=
![](assets.en/data-from-internet-sources/O_61.png)
In[3]:=
![Click for copyable input](assets.en/data-from-internet-sources/In_113.png)
obs = rawdata[[11 ;;]];
The number of observations.
In[4]:=
![Click for copyable input](assets.en/data-from-internet-sources/In_114.png)
Length[obs]
Out[4]=
![](assets.en/data-from-internet-sources/O_62.png)
Define the list of lakes.
In[5]:=
![Click for copyable input](assets.en/data-from-internet-sources/In_115.png)
lakes = {"Superior", "Michigan", "Huron", "Erie", "Ontario",
"St. Clair"};
show complete Wolfram Language input
Out[6]=
![](assets.en/data-from-internet-sources/O_63.png)
Create dates to serve as time stamps in the TimeSeries.
In[7]:=
![Click for copyable input](assets.en/data-from-internet-sources/In_117.png)
dates = Table[
DatePlus[{obs[[k, 1]], 1, 1}, Quantity[obs[[k, 2]], "Days"]], {k,
1, Length[obs]}];
Use QuantityArray to store the temperatures and the unit.
In[8]:=
![Click for copyable input](assets.en/data-from-internet-sources/In_118.png)
values = QuantityArray[obs[[All, 3 ;;]], "DegreesCelsius"]
Out[8]=
![](assets.en/data-from-internet-sources/O_64.png)
Store the list of the lakes as MetaInformation that can be retrieved later, for example, to create plot legends.
In[9]:=
![Click for copyable input](assets.en/data-from-internet-sources/In_119.png)
ts = TimeSeries[values, {dates},
MetaInformation -> {"Lakes" -> lakes}]
Out[9]=
![](assets.en/data-from-internet-sources/O_65.png)
In[10]:=
![Click for copyable input](assets.en/data-from-internet-sources/In_120.png)
DateListPlot[ts, PlotLegends -> ts["Lakes"], PlotTheme -> "Detailed",
FrameLabel -> Automatic]
Out[10]=
![](assets.en/data-from-internet-sources/O_66.png)
Study descriptive statistics for each lake.
In[11]:=
![Click for copyable input](assets.en/data-from-internet-sources/In_121.png)
stats = {Min, Max, Mean, Median, StandardDeviation};
summary[lake_] := Map[#[lake] &, stats]
In[12]:=
![Click for copyable input](assets.en/data-from-internet-sources/In_122.png)
TableForm[
Table[summary[ts["PathComponent", k]], {k, 1, Length[lakes]}],
TableHeadings -> {lakes, stats}]
Out[12]//TableForm=
![](assets.en/data-from-internet-sources/O_67.png)