In this case, I would go back a step and read in the data using
-infile, byvariable()-.
For your example set, you need 7 string variables,
and 5 observations,
and there are no blanks within strings, so try
forval i = 1/7 {
local args "`args' str80 v`i'"
}
infile `args' using <whateverfile>, byvariable(5)
foreach v of var * {
capture rename `v' `=`v'[1]'
}
drop in 1
compress
> 1 foo1.chp foo2.chp foo3.chp foo4.chp
> 2 Date 10/11/04 10/11/04 10/11/04 10/11/04
> 3 type U133A_2 U133A_2 U133A_2 U133A_2
> 4 group lymph lymph lymph heart
> 5 noise 1.4 1.24 1.5 1.25
> 6 bkd 46.7 50.4 32.4 18.6
> 7 bkdsd .28 .28 .26 .09
Nick
[email protected]
Wallace, John
> I've come across what appears to be a simple transposition
> problem, but I'm unable to solve it. I have a tab-delimited
> text-file data source where the records are columns and the
> variables are rows. The variable labels are effectively the
> first column, and the record labels are the first row, thus:
>
> v1 v2 v3 v4 v5
> 1 foo1.chp foo2.chp foo3.chp foo4.chp
> 2 Date 10/11/04 10/11/04 10/11/04 10/11/04
> 3 type U133A_2 U133A_2 U133A_2 U133A_2
> 4 group lymph lymph lymph heart
> 5 noise 1.4 1.24 1.5 1.25
> 6 bkd 46.7 50.4 32.4 18.6
> 7 bkdsd .28 .28 .26 .09
>
> It looks like a clear case for -xpose-, except that all the
> data are brought into Stata as strings because the first row
> (filenames) are strings. -xpose- results in an empty
> dataset. I'm looking at reshape and stack, but I can't
> figure out how they could accomplish what I'm looking for:
>
> v1 v2 v3 v4
> v5 v6 v7 v8
> 1 v1 . Date type
> group noise bkd bkdsd
> 2 v2 foo1.chp 10/11/2004 U133A_2 lymph
> 1.4 46.7 0.28
> 3 v3 foo2.chp 10/11/2004 U133A_2 lymph
> 1.24 50.4 0.28
> 4 v4 foo3.chp 10/11/2004 U133A_2 lymph
> 1.5 32.4 0.26
> 5 v5 foo4.chp 10/11/2004 U133A_2 heart
> 1.25 18.6 0.09
>
> (or actually, ideally)
>
> v1 Date type group
> noise bkd bkdsd
> 1 foo1.chp 10/11/2004 U133A_2 lymph 1.4
> 46.7 0.28
> 2 foo2.chp 10/11/2004 U133A_2 lymph 1.24
> 50.4 0.28
> 3 foo3.chp 10/11/2004 U133A_2 lymph 1.5
> 32.4 0.26
> 4 foo4.chp 10/11/2004 U133A_2 heart 1.25
> 18.6 0.09
>
> Previously, I've handled similar problems by resorting to
> Excel - importing the text file, using the copy/Paste Special
> ..transpose function, then exporting the result as a text
> file and proceeding with Stata. My trick has failed me
> though, this time I have more than 256 records! (Excel can't
> handle anything wider than 256, or longer than 65535 for that matter).
>
*
* 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/