[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