[R] weighted average

David Winsemius dwinsemius at comcast.net
Tue Jul 23 00:23:41 CEST 2013


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’

--- 
David Winsemius
Alameda, CA, USA



More information about the R-help mailing list