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.