in reply to Grouping one piddle based on ranges of another
just noted you want a threaded way of doing this; this isn't it
Update 2:
There's a fundamental problem with threading this. If your $b piddle is typical, your data subsets won't have the same number of matching elements in them, which makes it impossible to thread over.
# calculate the number of elements in each chunk pdl> $idx = ($b/5)->floor pdl> $idx -= ($b - $idx * 5) == 0 pdl> p [$qidx->hist(-1,4,1)]->[1] [1 5 5 9 0]
Original Response:
Hi,
Note:Your updated code doesn't compile and when fixed doesn't give the stated results, e.g.:
How about this:pdl> p pdl($a(($b>0)*($b<=5);?)->medover, $a(($b>5)*($b<=10);?)->medov +er, $a(($b>10)*($b<=15);?)->medover) [7 8 11]
pdl> $start = 0; pdl> $step = 5; pdl> $d = pdl( map { $a(($b > $start + $step *$_ )*( $b <= $start + $ +step*($_+1) );?)->medover } 0..3 ) pdl> p $d [7 8 11 13]
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Grouping one piddle based on ranges of another
by astroman (Novice) on Aug 27, 2015 at 01:23 UTC |