Thursday, March 09, 2006
Re: st: creating unique identifier values
Thank you all for the coding information! I appreciate it immensely.
I should have qualified my request for "unique identifiers" since for this variable (obs) - it isn't strictly necessary (although it would be nice). I do have a true unique identifier id (1-910) which is ordered 1-910 by subject 1-26/attribute 1-35. The obs var will only be used to keep additional track of manual input of binary values (0's and 1's) from printouts - eg. I'll know for example that id#600 = obs 213 and is probably subject #21 attribute#3 and not subject #2 attribute #13. I'm certain that this might be considered a very silly and/or inefficent way to keep track, but so far it seems quick and dirty for so much manual input of data. We can identify which printout, which subject, which attribute... at a glance.
Creating obs as a string variable seems the overall best approach for our specific purposes as recommended by Nick and shown below.
Although we aren't allowed to overindulge/say too much on statalist outside the specified question, I do want to add how much easier and pleasant it makes life for those of us without a hint of computer logic/programming knowledge or understanding. To have such patient, willing, able, and expert help often within moments is a beautiful thing!!
Thanks again! Suzy
Nick Cox wrote:
>This can also easily be modified to meet >Richard's comment. For example, > >gen x = string(x1) + "_" + string(x2)) > >is such that "2_11" can be distinguished >from "21_1". > >Nick >firstname.lastname@example.org > >Nick Cox > > > >>Noting Richard Williams' caveat, and just >>focusing on the question, it can also be >>done without loops: >> >>set obs `=26 * 35' >>egen x2= seq(), to(35) >>egen x1= seq(), block(35) >>gen x = real(string(x1) + string(x2)) >> >>-egen- haters can do it without any interpreted >>code: >> >>set obs `=26 * 35' >>gen x1 = ceil(_n/35) >>gen x2 = 1 + mod(_n-1, 35) >>gen x = real(string(x1) + string(x2)) >> >>and that could be telescoped further. >> >> >> > >* >* For searches and help try: >* http://www.stata.com/support/faqs/res/findit.html >* http://www.stata.com/support/statalist/faq >* http://www.ats.ucla.edu/stat/stata/ > > > > >
* * For searches and help try: * http://www.stata.com/support/faqs/res/findit.html * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/
Links to this post: