Re: [R] Aggregate certain rows in a matrix

2010-09-06 Thread Kennedy
Thank you very much for the help. I decided to go with the 'plyr' package but it is nice to have options. Have a lovely day. -- View this message in context: http://r.789695.n4.nabble.com/Aggregate-certain-rows-in-a-matrix-tp2528454p2529238.html Sent from the R help mailing list archive at Nabb

Re: [R] Aggregate certain rows in a matrix

2010-09-06 Thread David Winsemius
On Sep 6, 2010, at 10:47 AM, Dimitris Rizopoulos wrote: one way is the following: M <- cbind(c(1,1,1,1,2,2,3,3,3,3), c(2,2,2,3,4,4,4,5,5,6), c(1,2,3,4,5,6,7,8,9,10)) ind <- do.call(paste, c(as.data.frame(M[, 1:2], sep = "\r"))) M[, 3] <- ave(M[, 3], ind, FUN = "sum") unique(M) I had been

Re: [R] Aggregate certain rows in a matrix

2010-09-06 Thread Barry Rowlingson
On Mon, Sep 6, 2010 at 3:29 PM, Kennedy wrote: > I want to reduce the matrix according to the following: If the values of the > two first columns are the same in two or more rows the values in the third > column of the corresponding rows should be added and only one of the rows > should be keept.

Re: [R] Aggregate certain rows in a matrix

2010-09-06 Thread Dimitris Rizopoulos
one way is the following: M <- cbind(c(1,1,1,1,2,2,3,3,3,3), c(2,2,2,3,4,4,4,5,5,6), c(1,2,3,4,5,6,7,8,9,10)) ind <- do.call(paste, c(as.data.frame(M[, 1:2], sep = "\r"))) M[, 3] <- ave(M[, 3], ind, FUN = "sum") unique(M) I hope it helps. Best, Dimitris On 9/6/2010 4:29 PM, Kennedy wrot

[R] Aggregate certain rows in a matrix

2010-09-06 Thread Kennedy
Hi, I have a matrix that looks like this a <- c(1,1,1,1,2,2,3,3,3,3) b <- c(2,2,2,3,4,4,4,5,5,6) c <- c(1,2,3,4,5,6,7,8,9,10) M <- matrix(nr=10,nc=3) M[,1] <- a M[,2] <- b M[,3] <- c > M [,1] [,2] [,3] [1,]121 [2,]122 [3,]123 [4,]