[R] vectorization

Liaw, Andy andy_liaw at merck.com
Fri Jun 17 20:21:18 CEST 2005


Here I go again with ave():

mydata$md <- ave(mydata$income, mydata$education, FUN=median, na.rm=TRUE)

IMHO it's one of the most under-rated helper functions in R.

Andy

> From: Dimitri Joe
> 
> Hi there,
> 
> I have a data frame (mydata) with 1 numeric variable (income) 
> and 1 factor (education). I want a new column in this data 
> with the median income for each education level. A obviously 
> inneficient way to do this is
> 
> for ( k in 1: nrow(mydata) )            {
> l <- mydata$education[k]
> mydata$md[k] <- median(mydata$income[mydata$education==l],na.rm=T)
>                                                     }
> 
> Since mydata has nearly 30.000 rows, this will be done not 
> untill the end of this month. I thus need some help for 
> vectorizing this, please.
> 
> Thanks,
> 
> Dimitri
> 
> 	[[alternative HTML version deleted]]
> 
> 
> 
> 	
> 	
> 		
> _______________________________________________________ 
> 
> Instale o discador agora! http://br.acesso.yahoo.com/
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! 
> http://www.R-project.org/posting-guide.html
> 
> 
>




More information about the R-help mailing list