MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: How Functions are Applied to Matrices


m=Array[a,{3,4}];

Mean takes each row of the array as a single element of the outer list to be averaged.

Mean[m]==(m[[1]]+m[[2]]+m[[3]])/3

True


Bob Hanlon


---- Gregory Lypny <gregory.lypny at videotron.ca> wrote: 
> Hello everyone,
> 
> If I use functions, such as Mean, StandardDeviation, or Total, that  
> operate on lists, they work the way I expect when applied to a single  
> list.  So, for example, the mean of data[[2]] below is 5.25.   
> However, when I apply Mean to the entire 3 x 4 matrix, which I  
> understand to be three lists, I expect to get three means.  Instead I  
> get four because Mean is operating on the columns and not the rows,  
> that is, the four corresponding elements of each of the three lists.
> 
> Why is that?
> 
> 	Greg
> 
> 
> data={{-9,8,3,1},{2,12,3,4},{-6,-9,-9,8}}
> 
> The mean of the second list:
> 
> In[182]:=
> Mean[data[[2]]]//N
> 
> Out[182]=
> 5.25
> 
> Applying Mean to the whole matrix computes the mean of columns, not  
> rows.
> 
> In[181]:=
> Mean[data]//N
> 
> Out[181]=
> {-4.33333,3.66667,-1.,4.33333}
> 
> I need to Map it to have it applied to each list.
> 
> In[183]:=
> Map[Mean,data]//N
> 
> Out[183]=
> {0.75,5.25,-4.}
> 


  • Prev by Date: Re: Printing Lists to file without {}
  • Next by Date: Re: Image Processing
  • Previous by thread: Re: How Functions are Applied to Matrices
  • Next by thread: Re: How Functions are Applied to Matrices