[R] Avoiding for loops
Noah Silverman
noah at smartmediacorp.com
Mon Nov 2 11:29:40 CET 2009
Hi,
I'm trying to normalize some data.
My data is organized by groups. I want to normalize PER GROUP as
opposed to over the entire data set.
The current double loop that I'm using takes almost an hour to run on
about 30,000 rows of data in 2,500 groups.
I'm currently doing this:
-------------------------------------
for(group in unique(data$group)){
sum_V1 <- sum(data$V1[data$group == group])
for(subject in data$subject[data$group == group]){
data$V1_norm[(data$group == group & data$subject == subject)]
<- data$V1[(data$group == group & data$subject == subject)] / sum_V1
}
}
-------------------------------------
Can anyone point me to a faster way to do this in R.
Thanks!
-N
More information about the R-help
mailing list