weighted average
On Jul 22, 2013, at 3:23 PM, David Winsemius wrote:
On Jul 22, 2013, at 3:12 PM, Robert Lynch wrote:
I am trying to compute GPA from class grades(which have been normallized)
I have for example the following matrix
Master =
SID B2A B2B B2C C2A C2B C2C C118A C118B C118C
001 0.01 0.5 -0.4 1.2 -1.8 0.3 -0.3 0.4
0.5
002 0.01 0.5 -0.4 0.5 -0.4 1.2 -1.8 0.3
-0.3
003 0.04 0.05 0.5 -0.4 - 0.5 0.4 -1.2 1.8
0.3
etc
Where each column has a zero mean and a standard deviation of 1. I want to
calculate a weighted average for each row(student ID) that takes into
account that
B2A, C118A, C118B, and C118C are all 4 unit classes, and the rest, B2B,
B2C, C2A,C2B,C2C are 5 unit classes
I have tried
Units<-c(4,5,5,5,5,5,4,4,4)
Master$zGPA <-weighted.means(Master[,2:10],Units)
But that gets me one number and not a vector.
Perhaps something along lines of Master$zGPA <-sapply( weighted.means(Master[,2:10], weighted.means, weghts=Units) (Untested in absence of data or name of package from which function is loaded.)
?weighted.means
No documentation for ?weighted.means? in specified packages and libraries: you could try ???weighted.means?
If you are using weighted.mean and want this applied by row (one row per student I guess) , then probably this would be better: Master$zGPA <- apply( Master[,2:10], 1, weighted.means, w=Units)
David. > > --- > David Winsemius > Alameda, CA, USA > > ______________________________________________ > 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. David Winsemius Alameda, CA, USA