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 pairs of identical values in any 2 of these columns: mycombos<-mycombos[!(mycombos$Var1 == mycombos$Var2),] mycombos<-mycombos[!(mycombos$Var1 == mycombos$Var3),] mycombos<-mycombos[!(mycombos$Var1 == mycombos$Var4),] mycombos<-mycombos[!(mycombos$Var2 == mycombos$Var3),] mycombos<-mycombos[!(mycombos$Var2 == mycombos$Var4),] mycombos<-mycombos[!(mycombos$Var3 == mycombos$Var4),] dim(mycombos) # I want to write sums of elements from values1, values2, and values 3 whose numbers are contained in each column of mycombos. Here is how I am going it now - using a loop: mycombos$sum1<-NA mycombos$sum2<-NA mycombos$sum3<-NA for(i in 1:nrow(mycombos)){ mycombos$sum1[i]<-values1[[mycombos[i,"Var1"]]] + values1[[mycombos[i,"Var2"]]] + values1[[mycombos[i,"Var3"]]] + values1[[mycombos[i,"Var4"]]] mycombos$sum2[i]<-values2[[mycombos[i,"Var1"]]] + values2[[mycombos[i,"Var2"]]] + values2[[mycombos[i,"Var3"]]] + values2[[mycombos[i,"Var4"]]] mycombos$sum3[i]<-values3[[mycombos[i,"Var1"]]] + values3[[mycombos[i,"Var2"]]] + values3[[mycombos[i,"Var3"]]] + values3[[mycombos[i,"Var4"]]] } head(mycombos);tail(mycombos) # It's going to take me forever with this loop. Is there a faster way of doing the dame thing? Thanks a lot! -- Dimitri Liakhovitski [[alternative HTML version deleted]] ______________________________________________ R-help@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.