# st: RE: AW: How to add the same block of data to every individual

 From "Nick Cox" To Subject st: RE: AW: How to add the same block of data to every individual Date Wed, 8 Apr 2009 16:39:46 +0100

```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
n.j.cox@durham.ac.uk

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/
```