HI, May be this helps:
Please use ?dput() to show the example dataset dat1 <- read.table(text="Categories Variable Frequencies 1 0.009 1003 1 0.867 1200 1 0.567 987 1 0.765 134 1 0.445 890 2 0.007 899 2 0.768 707 2 0.789 865 2 0.544 678 2 0.987 889",sep="",header=TRUE) library(plyr) res <- ddply(transform(dat1,NewCol=Variable*Frequencies),.(Categories),summarize, Avg=mean(NewCol/sum(Frequencies))) A.K. On Tuesday, December 24, 2013 10:43 AM, Nandini Jayakumar <nandini_d...@hotmail.com> wrote: Hello all I have a table a sample of which is as follows: Categories Variable (x) Frequencies 1 1 1 1 1 0.009 0.867 0.567 0.765 0.445 1003 1200 987 134 890 2 2 2 2 2 0.007 0.768 0.789 0.544 0.987 899 707 865 678 889 3 3 3 3 3 0.898 0.887 0.560 0.098 0.987 544 677 934 467 876 40 40 40 40 40 0.786 0.342 0.456 0.987 0.123 843 987 675 467 223 Basically I have 40 categories and each category has several hundred variables. I want to calculate the average per category, that is variable * frequency/Summation of frequencies. I want to do it for each category separately. Since i have many categories i do not want to use the subset() function 40 times. Is it possible to do it within a single data frame? Really appreciate any help. Thank you. [[alternative HTML version deleted]] ______________________________________________ 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. ______________________________________________ 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.