Liaw, Andy wrote:

Suppose I
define the function:

fun <- function(x, f) {
   m <- tapply(x, f, mean)
   ans <- x - m[match(f, unique(f))]
   names(ans) <- names(x)
   ans
}




May I ask what is the purpose of match(f,unique(f)) ?


To remove the group means, I have be using:

x-tapply(x,f,mean)[f]

for a while, (and I am now changing to x-tapply(x,f,mean)[as.character(f)] because of the peculiarities of indexing named vectors with factors )

The use of tapply(x,f,mean)[match(f,unique(f))] assumes a particular order in the result of tapply, no? It seems a bit dangerous to me.


Christophe Pallier


______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to