[R] weighted average

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


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



More information about the R-help mailing list