[R] Using different function (parameters) with apply
David Winsemius
dwinsemius at comcast.net
Thu Apr 18 09:24:54 CEST 2013
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
More information about the R-help
mailing list