  | 
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]
Re: st: RE: Manipulating dataset in stata
Thank you Nick and Sergiy. It works perfectly.
Nick Cox wrote:
Assuming that your identifiers run 1 up, then here is one way: 
local N = _N 
expand `N' 
bysort ID : gen ID2 = _n 
gen DeltaN = . 
qui forval i = 1/`N' { 
	su N if ID == `i', meanonly 
	replace DeltaN = N - r(mean) if ID2 == `i' 
} 
If your identifiers do not run 1 up, use -egen, group()- to get new
identifiers that do. 
Also note 
FAQ     . . . . . . . . . . . . . . . Expanding datasets to all possible
pairs
         2/03    How do I produce a dataset based on all possible
                pairs of identifiers within each group?
                http://www.stata.com/support/faqs/data/pairs.html
Nick 
[email protected] 
Cesare Fracassi
I have a db that looks like this:
ID   N
1      1
2      0
3      4
4      2
5      2
6      0
.........
10     1
(the actual db is much larger than that)
I would like to create a new dataset that contains the nxn possible 
combinations of observations and takes the differences between the Ns:
ID1   ID2   DeltaN
1         1          0 
1        2          1
1        3         -3
1        4         -1
........................
1      10         0
2         1         -1
2         2         0
2          3         -4
.......
and so on for the nxn possible combinations...
any idea how to code that in 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/
  
*
*   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/