# [R] weighted average

arun smartpink111 at yahoo.com
Tue Jul 23 00:26:35 CEST 2013

```Hi,
May be this helps:
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
library(matrixStats)

Master\$zGPA<-rowWeightedMeans(as.matrix(Master[,-1]),Units)
Master
#  SID  B2A  B2B  B2C  C2A  C2B C2C C118A C118B C118C         zGPA
#1   1 0.01 0.50 -0.4  1.2 -1.8 0.3  -0.3   0.4   0.5  0.035121951
#2   2 0.01 0.50 -0.4  0.5 -0.4 1.2  -1.8   0.3  -0.3 -0.003902439
#3   3 0.04 0.05  0.5 -0.4 -0.5 0.4  -1.2   1.8   0.3  0.097804878
A.K.

----- Original Message -----
From: Robert Lynch <robert.b.lynch at gmail.com>
To: r-help at r-project.org
Cc:
Sent: Monday, July 22, 2013 6:12 PM
Subject: [R] weighted average

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.

[[alternative HTML version deleted]]

______________________________________________
R-help at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help