|
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]
RE: st: substringing long, varying length text variables into individual variables
From |
"Nick Cox" <[email protected]> |
To |
<[email protected]> |
Subject |
RE: st: substringing long, varying length text variables into individual variables |
Date |
Thu, 3 Apr 2008 18:07:29 +0100 |
The -split- command is available in Stata 8 up.
An earlier version for Stata 7 is on SSC.
An earlier -strparse- for Stata 6 is on SSC.
Nick
[email protected]
Svend Juul replied to Todd Wagner
Todd wrote:
I have data from a publicly available database (clinicaltrials.gov).
This database has a number of text variables that I want to break
into individual variables and I could use some help.
For example, one of the variables is called study designs. Here are
some data from the study designs variable
Treatment|Randomized|Double-Blind|Placebo Control|Parallel
Assignment|Safety/Efficacy Study
Prevention|Randomized|Open Label|Active Control|Parallel
Assignment|Bio-equivalence Study
...
What I want to do is parse this text using the "|" into individual
variables
So the first case would be
des1 des2 des3 des4 des5 des6
Treatment Randomized Double-Blind Placebo Control Parallel Assignment
Safety/Efficacy Study
I can think of a brute force way where I save this variable and my
id variable, change | to a comma, output as text, read the text into
stata as a comma separated file, and then merge it back into my data.
Sounds silly, but perhaps it is the easiest. Any other ideas?
========================================================================
========
The -insheet- suggestion is valid, I believe. Another possibility is
the -split- command:
clear
input str150 longvar
"Treatment|Randomized|Double-Blind|Placebo Control|Parallel
Assignment|Safety/Efficacy Study"
"Prevention|Randomized|Open Label|Active Control|Parallel
Assignment|Bio-equivalence Study"
"Prevention|Randomized|Double Blind (Subject, Caregiver, Investigator,
Outcomes Assessor)|Crossover Assignment"
"Randomized|Single Blind|Active Control|Parallel Assignment"
"Natural History|Cross-Sectional|Case Control|Prospective Study"
"Treatment|Randomized|Open Label|Active Control|Parallel
Assignment|Efficacy Study"
"Treatment|Randomized|Double-Blind|Placebo Control|Single Group
Assignment|Safety/Efficacy Study"
"Treatment|Randomized|Open Label|Placebo Control|Parallel
Assignment|Safety/Efficacy Study"
"Treatment|Randomized|Double-Blind|Active Control|Parallel
Assignment|Safety/Efficacy Study"
"Prevention|Randomized|Double-Blind|Placebo Control|Parallel
Assignment|Safety/Efficacy Study"
"Treatment|Randomized|Single Blind (Investigator)|Placebo
Control|Parallel Assignment"
"Treatment|Randomized|Open Label|Active Control|Parallel
Assignment|Efficacy Study"
end
split longvar , generate(des) parse("|") limit(6)
*
* 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/