Bookmark and Share

Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down at the end of May, and its replacement, statalist.org is already up and running.


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

Re: st: Right to Left Column Cascade or Adjustment


From   Eric Booth <ebooth@ppri.tamu.edu>
To   "<statalist@hsphsun2.harvard.edu>" <statalist@hsphsun2.harvard.edu>
Subject   Re: st: Right to Left Column Cascade or Adjustment
Date   Tue, 24 May 2011 16:14:38 +0000

<>
On May 24, 2011, at 10:08 AM, David Torres wrote:
> There's probably a proper name for the process I'd like to carry out.
> Say I have five columns of information with staggard cell inputs.  How do I go about moving all the information in a subsequent column back through to the first column for which no information is missing on the row?

I'm not sure what the proper name for this process is, nor could I find any existing program that would do it.
 The only name I could think of for this was -shiftleft- (based on option to shift cells left in MS Excel because this is the first thing I thought of when I read David's question).  So,  my previous example could be turned into the program below.   I'll add a couple of more options and error checking into the code and submit it to Kit for after he returns to Boston.

******!draft program -shiftleft-
*!shiftleft.ado
*! Eric A. Booth <ebooth@tamu.edu>
*! May 2011
cap program drop shiftleft
program def shiftleft
syntax varlist
qui {
tempvar i N
g `i' = _n
reshape long Col, i(`i') j(`N')
drop `N'
drop if mi(Col)
bys `i': g `N' = _n
reshape wide Col, i(`i') j(`N')
}
end


**Example**
clear
inp Col1   Col2     Col3    Col4    Col5

101     101 . . .
.       111 . .      333
. . . .         935
. . .     023      016
405 . . .             295 .
end
g x = runiform()*10
g x2 = "abc"
shiftleft Col1-Col5 
l
***********!
- Eric
__
Eric A. Booth
Public Policy Research Institute
Texas A&M University
ebooth@ppri.tamu.edu
Office: +979.845.6754

*
*   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   |   Site index