Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
st: RE: matrix dissimilarity
From
Nick Cox <[email protected]>
To
"'[email protected]'" <[email protected]>
Subject
st: RE: matrix dissimilarity
Date
Fri, 7 Jan 2011 13:28:31 +0000
Look again at the help for -foreach- to see that what you want is more likely to be
matrix dissimilarity DE`p'`sec' = att1 att2 att3 att4
However, your syntax does rather depend on the levels of -p- and -sec- being zero or positive integers, which I can't check from here, so that the resultant matrix names are legal. Moral: Pose examples using datasets everyone can try.
Also, if p = 11 and sec = 2 you are naming the resultant matrix DE112, which is also going to be what you will try if p = 1 and sec = 12. Moral: use an underscore to disambiguate:
matrix dissimilarity DE`p'_`sec' = att1 att2 att3 att4
But even that does work, the dissimilarity matrices will be all the same without extra restrictions on the right-hand side!
Nick
[email protected]
Alp Eren Yurtseven
I want to create a matrix for each sector and year, holding the
Euclidean distance between all the observations for variables att1 att2
att3 att4. p and sec denote year and sector respectively. I want to do
this with a nested loop:
levelsof p,local(y)
levelsof sec,local(s)
foreach p in `y' {
foreach sec in `s' {
matrix dissimilarity DE`s'`y'=att1 att2 att3 att4
}
}
I am not very familiar with loop structures in Stata and not
surprisingly I get an invalid syntax error. I'd be very glad if you
could give me some hints to solve this problem. Thanks in advance.
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/