Equivalently:
expand 3
bysort id : gen y = cond(_n == 1, "a", cond(_n == 2, "b", "c"))
by id : gen z = cond(_n == 1, 7, cond(_n == 2, 8, 9))
or, in this example,
by id : gen z = _n + 6
Nick
[email protected]
Martin Weiss
It really depends where you want to take this exercise next, but here is
a
shot at the prob:
*************
clear*
inp id x
1 4
2 6
3 7
end
expand 3
bys id: g str1 y="a"
by id: replace y="b" if _n==2
by id: replace y="c" if _n==3
by id : egen float z = seq(), from(1) to(3) block(1)
l, noo sepby(id)
*************
Quang Nguyen
Suppose I have the following data set:
id x
1 4
2 6
3 7
..................
and a "data block" as follows:
y z
a 7
b 8
c 9
Do you know how I can add this data block to every individual in the
idividial data set. After adding, the new data set will look like the
following:
id x y z
1 4 a 7
1 4 b 8
1 4 c 9
2 6 a 7
2 6 b 8
2 6 c 9
----------------------------
*
* 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/