Home > SurfStat > var2fac.m

var2fac

PURPOSE ^

Converts a numeric variable or term of this to a cell array of strings.

SYNOPSIS ^

function f = var2fac( x, str );

DESCRIPTION ^

Converts a numeric variable or term of this to a cell array of strings.

 Usage: f = var2fac( x [, str] );

 x   = n x 1 numeric vector or term of this.
 str = either a single string, or a 1 x k cell array of strings of names 
       for the k unique values of x in ascending order. If str is absent,
       then str='x'.

 f = n x 1 cell array of strings. If str is a single string, then the 
     strings are 'str1', 'str2', .... 'strk'.
 
 Examples: 
 gender=var2fac([repmat(1,1,64) repmat(2,1,44)],{'male'; 'female'})
 subj=var2fac(repmat(1:27,4,1),'subj')

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function f = var2fac( x, str );
0002 
0003 %Converts a numeric variable or term of this to a cell array of strings.
0004 %
0005 % Usage: f = var2fac( x [, str] );
0006 %
0007 % x   = n x 1 numeric vector or term of this.
0008 % str = either a single string, or a 1 x k cell array of strings of names
0009 %       for the k unique values of x in ascending order. If str is absent,
0010 %       then str='x'.
0011 %
0012 % f = n x 1 cell array of strings. If str is a single string, then the
0013 %     strings are 'str1', 'str2', .... 'strk'.
0014 %
0015 % Examples:
0016 % gender=var2fac([repmat(1,1,64) repmat(2,1,44)],{'male'; 'female'})
0017 % subj=var2fac(repmat(1:27,4,1),'subj')
0018 
0019 x=double(x);
0020 n=numel(x);
0021 if nargin<2
0022     str=inputname(1);
0023 end
0024 if ischar(str)
0025     for i=1:n
0026         f{i}=[str num2str(x(i))];
0027     end
0028     f=f';
0029 else
0030     [u,i,j]=unique(x);
0031     f=str(j);
0032 end
0033

Generated on Fri 26-Sep-2008 14:05:29 by m2html © 2003