[R] weighted average

arun smartpink111 at yahoo.com
Tue Jul 23 00:44:18 CEST 2013



In that case:
Master1<- Master

Master1$zGPA<-sapply(seq_len(nrow(Master1[,-1])),function(i) weighted.mean(Master1[i,-1],Units))

Master1$zGPA
#[1]  0.035121951 -0.003902439  0.097804878
all.equal(Master,Master1)
#[1] TRUE

A.K.


________________________________
From: Robert Lynch <robert.b.lynch at gmail.com>
To: arun <smartpink111 at yahoo.com> 
Sent: Monday, July 22, 2013 6:35 PM
Subject: Re: [R] weighted average



weighted.mean is the function.  My apologies for appending an s





On Mon, Jul 22, 2013 at 3:31 PM, arun <smartpink111 at yahoo.com> wrote:

Hi,
>
>I couldn't find the function `weighted.means` using ?weighted.means or ??weighted.means.  It would be useful to provide the library information.
>
>
>
>
>----- Original Message -----
>From: arun <smartpink111 at yahoo.com>
>To: Robert Lynch <robert.b.lynch at gmail.com>
>Cc: R help <r-help at r-project.org>
>Sent: Monday, July 22, 2013 6:26 PM
>Subject: Re: [R] weighted average
>
>Hi,
>May be this helps:
>Master<-read.table(text="
>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
>",sep="",header=TRUE)
> 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
>PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>and provide commented, minimal, self-contained, reproducible code.
>
>



More information about the R-help mailing list