06-10-2016 04:57 PM
I need to write a funtion or module that creates a row vector called doit of dimmesion k(k-1)/2 that contains the pairwise differences between the k leverl means. I need nested do loops
doit[i,j]= Yi0 hat- Yjo hat
below is my code
a=3; # k level (maybe I can replace it with ncol (mymatrix)?)
do i= 1 to a;
do j = i to a;
dime = group_mean[i]-groupmean[j];
but it does not work. ANy other suggestions to make it work? Any other solutions
06-11-2016 03:39 AM
I am not sure what you mean by the line of code that starts doit[i,j]=... however the code below that can be made to work. The problems are:
If you still cannot make it work, then please show us the messages that you are getting in the log.
In general it is a bad habit to grow matrices by concatenation inside a loop - this is very inefficient in terms of memory use. For a=3 you will probably not notice, but similar code with a=1000 would grind to a halt.
06-11-2016 07:56 AM
For a more on Ian's comment about concatenating inside a DO loop (as well as an alternative approach), see the article "Friends don't let friends concatenate results inside a loop."