R计数除以总和

时间:2017-02-10 14:02:28

标签: r

与此page上的示例类似,我想对列中的值求和,并将其除以另一列的计数。例如,在以下代码中:

A <- c(1,1,2,2)
B <- c(0.2, 0.3, 1, 0.5)
M <- data.frame(A,B)
M

  A   B
1 1 0.2
2 1 0.3
3 2 1.0
4 2 0.5

我需要将(B)与ID 1相加并将其除以ID(1)和ID 1.类似于ID 2.

结果应如下:

A.1 <- c(1, 2)
B.1 <- c((0.2+0.3)/2, (1+0.5)/2)
M.1 <- cbind(A.1, B.1)
M.1

     A.1  B.1
[1,]   1 0.25
[2,]   2 0.75

关于如何做到这一点的任何想法?

1 个答案:

答案 0 :(得分:-1)

不使用外部库,只使用最基本的功能。

mat <- matrix(NA,0,2)
for (v in unique(M$A)) {
  m <- mean(M[which(M$A == v),'B'])
  mat <- rbind(mat,c(v,m))
}