How to pair two Timeseries?

Posted 3 years ago
3251 Views
|
3 Replies
|
0 Total Likes
|
 HelloI Have 2 tables with the folloing structure:To calculate things like correlation, I want to create an new paired table like this:I tried diffrent things, for example: Timing[ d = Intersection[smi[[;; , 1]], abb[[;; , 1]]]; p1 = Flatten[Position[Map[MemberQ[d, #] &, smi[[;; , 1]]], True]]; p2 = Flatten[Position[Map[MemberQ[d, #] &, abb[[;; , 1]]], True]]; paired = Transpose[{d, smi[[p1, 2]], abb[[p2, 2]]}]; ] The Problem is, that this is really slow (4 seconds for about 6000 dates). I think there must be a simple and much faster solution than mine. I would be happy for a little help!
3 Replies
Sort By:
Posted 3 years ago
 Juerg,A couple of suggestions... If your goal is specifically just correlation information, Mathematica has some built in functions for this. Check out the documentation for Correlation and CorrelationTest for starters.If you're really interested in manipulating the data structures, then there are many approaches, but I don't know which ones would be most performant without benchmarking each one. The first approach that comes to my mind would be to use Associations. Check out the documentation for Association, KeyIntersection, and Merge.