MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Construcing correlation matrix from time-ordered list

  • To: mathgroup at smc.vnet.net
  • Subject: [mg54780] Re: [mg54707] Construcing correlation matrix from time-ordered list
  • From: János <janos.lobb at yale.edu>
  • Date: Tue, 1 Mar 2005 01:58:41 -0500 (EST)
  • References: <200502270629.BAA25482@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

I took the liberty to modify your data to include different years:

In[25]:=
data = {{{1897, 1, 4},
     40.37}, {{1897, 1, 5},
     40.87}, {{1897, 1, 6},
     40.95}, {{1898, 1, 7},
     40.87}, {{1898, 1, 8},
     40.97}, {{1898, 1, 11},
     40.75}, {{1899, 1, 12},
     41.4}, {{1899, 1, 13},
     41.45}, {{1899, 1, 14},
     41.79}, {{1899, 1, 15},
     42.27}, {{1896, 1, 18},
     42.76}, {{1896, 1, 19},
     43.25}, {{1895, 1, 20},
     42.78}, {{1895, 1, 21},
     42.52}, {{1894, 1, 22},
     42.42}}

Then here are the steps:

In[40]:=
mm = Sort[Thread[
     {Transpose[data][[1]][[
       All,1]], Transpose[
        data][[2]]}]]

In[42]:=
nn = Split[mm,
    #1[[1]] - #2[[1]] == 0 & ]

In[59]:=
({First[First[#1]],
     #1[[All,2]]} & ) /@ nn
Out[59]=
{{1894, {42.42}},
   {1895, {42.52, 42.78}},
   {1896, {42.76, 43.25}},
   {1897, {40.37, 40.87,
     40.95}}, {1898,
    {40.75, 40.87, 40.97}},
   {1899, {41.4, 41.45, 41.79,
     42.27}}}

János
On Feb 27, 2005, at 1:29 AM, Adam Getchell wrote:

> Hello all,
> I have time series data (a lot of it) in a format like:
> {{{1897,1,4},40.37`},{{1897,1,5},40.87`},{{1897,1,6},40.95`}, 
> {{1897,1,7},
>     40.87`},{{1897,1,8},40.97`},{{1897,1,11},40.75`},{{1897,1,12},
>     41.4`},{{1897,1,13},41.45`},{{1897,1,14},41.79`},{{1897,1,15},
>     42.27`},{{1897,1,18},42.76`},{{1897,1,19},43.25`},{{1897,1,20},
>     42.78`},{{1897,1,21},42.52`},{{1897,1,22},42.42`}}
> ie the year, then the value, for 100+ years.
> I'd like to construct a correlation matrix so that year values become
> columns, e.g.
> 1897      1898
> ==========
> Value1     Value 1
> Value 2     Value 2
> ...
>  From my long list of {{{date1},value1},{{date2},value2}}
> But I'm not yet sure how to proceed. I'm looking at Cases or Select to
> apply a function for each year range that will pick out that column.
> Any pointers appreciated.
> --Adam Getchell


  • Prev by Date: Re: Polygons on spheres
  • Next by Date: Mathematical Experiments
  • Previous by thread: Re: Polygons on spheres
  • Next by thread: Mathematical Experiments