Re: [R] Faster way of summing values up based on expand.grid

2013-03-26 Thread arun
, 2013 9:39 AM Subject: Re: [R] Faster way of summing values up based on expand.grid HI, You could also try this: set.seed(25) values1<-rnorm(10) values2<-rnorm(10) values3<-rnorm(10) mycombos<-expand.grid(1:10,1:10,1:10,1:10) mycombos1<- mycombos mycombos<-mycombos[!(myco

Re: [R] Faster way of summing values up based on expand.grid

2013-03-26 Thread arun
(mycombos2,function(x) values2[x]))) system.time(sumNew3<-rowSums(sapply(mycombos2,function(x) values3[x]))) cbind(sumNew1,sumNew2,sumNew3) A.K. - Original Message - From: Dimitri Liakhovitski To: r-help Cc: Sent: Monday, March 25, 2013 5:00 PM Subject: [R] Faster way of summing values up

Re: [R] Faster way of summing values up based on expand.grid

2013-03-25 Thread Dimitri Liakhovitski
Thank you so much, Jorge. I checked and your method is at least 200 times faster than mine! Exactly what I was looking for. Dimitri On Mon, Mar 25, 2013 at 5:49 PM, Jorge I Velez wrote: > Hi Dimitri, > > If I understood correctly, the following will do: > > system.time(sum1 <- apply(mycombos, 1,

Re: [R] Faster way of summing values up based on expand.grid

2013-03-25 Thread Jorge I Velez
Hi Dimitri, If I understood correctly, the following will do: system.time(sum1 <- apply(mycombos, 1, function(x) sum(values1[x]))) system.time(sum2 <- apply(mycombos, 1, function(x) sum(values2[x]))) system.time(sum3 <- apply(mycombos, 1, function(x) sum(values3[x]))) cbind(sum1, sum2, sum3) HTH

Re: [R] Faster way of summing values up based on expand.grid

2013-03-25 Thread Dimitri Liakhovitski
This is another method I can think of, but it's also slow: for(i in 1:nrow(mycombos)){ # i=1 indexes=rep(0,10) myitems<-unlist(mycombos[i,1:4]) indexes[myitems]<-1 mycombos$sum1[i]<-sum(values1 * indexes) mycombos$sum2[i]<-sum(values2 * indexes) mycombos$sum3[i]<-sum(values3 * indexes

[R] Faster way of summing values up based on expand.grid

2013-03-25 Thread Dimitri Liakhovitski
Hello! # I have 3 vectors of values: values1<-rnorm(10) values2<-rnorm(10) values3<-rnorm(10) # In real life, all 3 vectors have a length of 25 # I create all possible combinations of 4 based on 10 elements: mycombos<-expand.grid(1:10,1:10,1:10,1:10) dim(mycombos) # Removing rows that contain pai