On Nov 18, 2010, at 1:23 PM, Henrique Dallazuanna wrote:
Try this also:
x$x - ave(x$x, x$f)
Could also use scale for only its centering capacities:
unlist(
tapply(fx$x, fx$f, scale, scale=FALSE) # default for center == TRUE
)
11 12 21 22 23
1 -1 -2 2 0
... but looking at the code for ave and for tapply makes me think ave
would win in a foot race. scale() has other capacities that make its
availability useful.
--
David.
On Thu, Nov 18, 2010 at 12:02 PM, Lancaster, Anthony <
anthony_lancas...@brown.edu> wrote:
Hi,
I'd appreciate help with this. I have a data matrix with one
column, called
f in the example below, a factor. I'd like to subtract the means
from each
of
other columns for each level of the factor. That is, in the
example, to go
from the first matrix below to the second. I know SWEEP will take out
means,
but I want to do this for each level of the factor.
f x
1 2
1 0
2 0
2 4
2 2
f xnew
1 1
1 -1
2 -2
2 2
2 0
Thanks
[[alternative HTML version deleted]]
David Winsemius, MD
West Hartford, CT
______________________________________________
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.