Documentation of regress_nan2


Global Index (all files) (short | long) | Local Index (files in subdir) (short | long)


Function Synopsis

out1 = regress_nan(vect, data);

Help text


  out1 = regress_nan ( vect, data ) ;

  This routine regresses data onto vect (it will
  normalize 'vect'), ignoring NaN's.


Cross-Reference Information

This function calls

Listing of function regress_nan2

function out1 = regress_nan(vect, data);

if (~isvector(vect) | ~ismatrix(data))
  error('Input vect must be a vector, data must be a matrix');
end

if size(vect, 1) == 1; vect = vect'; end;

if (length(vect) ~= size(data, 1));
  if (length(vect) ~= size(data, 2));
    error('The length of input vect must match size(data, 1)')
  else
    data = data';
  end
end

kpvect = find(~isnan(vect));

vect = vect(kpvect);
data = data(kpvect, :);

[m, n] = size(data);

out1 = NaN * ones(1, n);

for i = 1:n;
  kppt = find(~isnan(data(:,i)));
  if ~isempty(kppt);
    out1(i) = standardize(vect(kppt))' * data(kppt, i) / length(kppt);
  end
end