sliding window median of correlations of a matrix -


question parts:

  1. is there "julia way" implement sliding window?
  2. what needed in julia ignore nans?

there matrix 264 recording points (rows) , 200 time points (columns). want median correlation of each recording point every other point on 10 sample window.

i've tried matlab-way (tm) creating 3d 264x264x10 matrix third dim correlation window. in matlab, median(cors,3) julia can mean(cors,3). median not have support this. looks mapslices(median,cors,3) might want, recording points have nans. in r, might na.omit() or function options na.ignore=t don't see julia.

#oned=readdlm("10152_20111123_preproc_torque.1d") oned=rand(200,264); oned[:,3]=nan; oned[:,200]=nan windows=10 samplesperwindow=size(oned,1)/windows cors=zeros(size(oned,2),size(oned,2),windows) i=1:windows  startat=(i-1)*windows+1  endat=i*windows  corofsamples=cor(oned[startat:i*windows,:])  cors[:,:,i]= corofsamples end med = mapslices(median,cors,3) # fail b/c nan 

here's 1 approach, uses functions encapsulate parts of task. creating specialized version of median function ignores nan, it's easier use mapslices:

function findcors(oned, windows)     samplesperwindow = size(oned, 1) / windows      cors = zeros(size(oned, 2), size(oned, 2), windows)      = 1:windows         startat = (i - 1) * samplesperwindow + 1         endat = * samplesperwindow         corofsamples = cor(oned[startat:endat, :])         cors[:, :, i] = corofsamples     end      return cors end  function nanmedian(a)     cleana = a[isfinite(a)]     if isempty(cleana)         nan     else         return median(cleana)     end end  oned = rand(200, 264) oned[:, 3] = nan oned[:, 200] = nan  cors = findcors(oned, 10)  med = mapslices(nanmedian, cors, 3) 

i believe original code using wrong window length inside main loop. i've fixed that.

the dataframes package provides na value , tools ignore na, still needs clean median function exploit tools.


Comments

Popular posts from this blog

java - JavaFX 2 slider labelFormatter not being used -

Detect support for Shoutcast ICY MP3 without navigator.userAgent in Firefox? -

web - SVG not rendering properly in Firefox -