[R] Sum of Probabilities in a matrix...
Rolf Turner
rolf.turner at xtra.co.nz
Sun Oct 2 04:57:29 CEST 2011
On 02/10/11 14:06, Jim Silverton wrote:
> Hi all,
> I have 2 columns in a mtrix, one of which is a column of probabilities and
> the other is simply a vector of integers. I want to sum all the
> probabilities with the same integer value and put it in a new column.
> For example,
> If my matrix is:
>
> 0.98 2
> 0.2 1
> 0.01 2
> 0.5 1
> 0.6 6
>
>
> Then I should get:
> 0.98 2 0.99
> 0.2 1 0.70
> 0.01 2 0.99
> 0.5 1 0.70
> 0.6 6 0.60
>
> Any help is greatly appreciated.
Suppose your matrix is called "m". Execute:
> ttt <- tapply(m[,1],m[,2],sum)
> m <- cbind(m,ttt[match(m[,2],names(ttt))])
> dimnames(m) <- NULL # To tidy up a bit.
You get:
> m
[,1] [,2] [,3]
[1,] 0.98 2 0.99
[2,] 0.20 1 0.70
[3,] 0.01 2 0.99
[4,] 0.50 1 0.70
[5,] 0.60 6 0.60
Easy-peasy.
cheers,
Rolf Turner
More information about the R-help
mailing list