On Wed, 16 Dec 2009, Levi Waldron wrote:

For example, subtracting 1:2 from the rows of a two-column matrix:

t(apply(matrix(1:6,ncol=2),MARGIN=1,function(y) y - 1:2))
    [,1] [,2]
[1,]    0    2
[2,]    1    3
[3,]    2    4
sweep(matrix(1:6,ncol=2),MARGIN=2,1:2,FUN="-")
    [,1] [,2]
[1,]    0    2
[2,]    1    3
[3,]    2    4

Is there a logic to this difference, or is it just a quirk of the history of
these functions?

Well

        sweep(mat,MARGIN, apply(mat,MARGIN, applyfun), sweepfun)

does it for me.

mat <- matrix(1:6,ncol=2)
sweep( mat, 2, apply(mat, 2, mean),'-')
     [,1] [,2]
[1,]   -1   -1
[2,]    0    0
[3,]    1    1


Chuck


I found one discussion on this topic, but without what I thought was a very
conclusive end:

http://finzi.psych.upenn.edu/Rhelp08/2009-March/191930.html


--
Levi Waldron
post-doctoral fellow
Jurisica Lab, Ontario Cancer Institute
Division of Signaling Biology
TMDT 9-304D
101 College Street
Toronto, Ontario M5G 1L7
(416)581-7453

        [[alternative HTML version deleted]]

______________________________________________
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.


Charles C. Berry                            (858) 534-2098
                                            Dept of Family/Preventive Medicine
E mailto:cbe...@tajo.ucsd.edu               UC San Diego
http://famprevmed.ucsd.edu/faculty/cberry/  La Jolla, San Diego 92093-0901

______________________________________________
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