Statalist


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

st: RE: Extract elements from string variables


From   Howard Lempel <HLempel@brookings.edu>
To   "statalist@hsphsun2.harvard.edu" <statalist@hsphsun2.harvard.edu>
Subject   st: RE: Extract elements from string variables
Date   Wed, 8 Jul 2009 14:57:10 -0400

Conor,

An illustration of your data might help.  For now, I assume that your data started out something like this, where origob is the original observation number for each group of names, newid is the new observation number, and X and Y are some other variables:

origob	names				X	Y
1		"Alex Charles Henry"	123	456
2		"Mary Liz"			789	324

And now looks something like this:

origob	newid		names				X	Y
1		1		"Alex Charles Henry"	123	456
1		2		"Alex Charles Henry"	123	456
1		3		"Alex Charles Henry"	123	456
2		1		"Mary Liz"			789	324
2		2		"Mary Liz"			789	324

And you want this:
origob	newid		names				name		X	Y
1		1		"Alex Charles Henry"	"Alex"	123	456
1		2		"Alex Charles Henry"	"Charles"	123	456
1		3		"Alex Charles Henry"	"Henry"	123	456
2		1		"Mary Liz"			"Mary"	789	324
2		2		"Mary Liz"			"Liz"		789	324


If this is right, you can go from the second stage to the third stage by doing the following:

bysort origob: gen name = word(names, _n)

Hope this helps.
Howie

-----Original Message-----
From: owner-statalist@hsphsun2.harvard.edu [mailto:owner-statalist@hsphsun2.harvard.edu] On Behalf Of sontag@sas.upenn.edu
Sent: Wednesday, July 08, 2009 2:37 PM
To: statalist@hsphsun2.harvard.edu
Subject: st: Extract elements from string variables


In the data set I have a string variable with the names of several people.  However, I want to look at the relationship across each individual, so I am trying to separate the names.  

What I have done: expanded the observations based on how many individuals are in each observation's string variable.  Labeled the duplicate observations 1, 2, 3, etc. 

What I need now, is a command that will take the number in my duplicates and take the corresponding individual's name with respect to its position in the string variable, separated by a comma. 

Any insight would be helpful.

Thanks, 
Conor

*
*   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/

*
*   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/



© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index