On Apr 17, 2013, at 10:20 PM, Sachinthaka Abeywardana wrote:

> Hi All,
> 
> I have the following problem (read the commented bit below):
> 
> a<-matrix(1:9,nrow=3)
> 
> 
> a
> 
>     [,1] [,2] [,3]
> [1,]    1    4    7
> [2,]    2    5    8
> [3,]    3    6    9
> 
> 
> div<-1:3
> 
> apply(a,2,function(x)x/div) ##want to divide each column by div-
> instead each row is divided##

No. Each column is divided by that vector 'div'. Try:

1:3/1:3
4:6/1:3
7:9/1:3

>     [,1] [,2] [,3]
> [1,]    1  4.0    7
> [2,]    1  2.5    4
> [3,]    1  2.0    3
> 
> 
> apply(a,1,function(x)x/div) ##Changing Margin from 2 to 1 does
> something completele weird##         [,1]     [,2] [,3]
> [1,] 1.000000 2.000000    3
> [2,] 2.000000 2.500000    3
> [3,] 2.333333 2.666667    3

Each row is divided by that vector but then returned as columns. Try it with a 
matrix that has a different number of columns than rows.

-- 

David Winsemius
Alameda, CA, USA

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to