Gundala Viswanath
2009-Sep-17 05:40 UTC
[R] Fastest Way to Divide Elements of Row With Its RowSum
I have a data frame (dat). What I want to do is for each row, divide each row with the sum of its row. The number of row can be large > 1million. Is there a faster way than doing it this way? datnorm; for (rw in 1:length(dat)) { tmp <- dat[rw,]/sum(dat[rw,]) datnorm <- rbind(datnorm, tmp); } - G.V.
William Revelle
2009-Sep-17 06:15 UTC
[R] Fastest Way to Divide Elements of Row With Its RowSum
At 2:40 PM +0900 9/17/09, Gundala Viswanath wrote:>I have a data frame (dat). What I want to do is for each row, >divide each row with the sum of its row. > >The number of row can be large > 1million. >Is there a faster way than doing it this way? > >datnorm; >for (rw in 1:length(dat)) { > tmp <- dat[rw,]/sum(dat[rw,]) > datnorm <- rbind(datnorm, tmp); >} > > >- G.V.datnorm <- dat/rowSums(dat) this will be faster if dat is a matrix rather than a data.frame. Bill> >______________________________________________ >R-help at 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.-- William Revelle http://personality-project.org/revelle.html Professor http://personality-project.org/personality.html Department of Psychology http://www.wcas.northwestern.edu/psych/ Northwestern University http://www.northwestern.edu/ Use R for psychology http://personality-project.org/r It is 5 minutes to midnight http://www.thebulletin.org