Notice: On March 31, it was **announced** that Statalist is moving from an email list to a **forum**. The old list will shut down on April 23, and its replacement, **statalist.org** is already up and running.

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

From |
Nick Cox <njcoxstata@gmail.com> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: st: Question about fillin |

Date |
Thu, 14 Feb 2013 15:39:43 +0000 |

-fillin- doesn't support -if- or -in- either, so a loop over groups is out of the question (without some awful choreography of files). This is an in-place solution. The use of -contract- as an expansion command is perhaps counter-intuitive, but it works for your example. History bites me here, as the name -contract- was my suggestion. If you have other variables you are not telling us about, as seems all too likely, I guess that makes things no more difficult than the need for a -merge- as well. . egen group = concat(ind stock), p(" ") . contract period group, zero . split group, destring variables born as string: group1 group2 group1 has all characters numeric; replaced as byte group2 contains nonnumeric characters; no replace . rename (group?) (individual stock) . gen _fillin = 1 - _freq . drop _freq group . sort individual stock period . list individual stock period, sep(8) +---------------------------+ | indivi~l stock period | |---------------------------| 1. | 1 A 1 | 2. | 1 A 2 | 3. | 1 C 1 | 4. | 1 C 2 | 5. | 1 E 1 | 6. | 1 E 2 | 7. | 1 F 1 | 8. | 1 F 2 | |---------------------------| 9. | 2 G 1 | 10. | 2 G 2 | 11. | 2 H 1 | 12. | 2 H 2 | 13. | 2 I 1 | 14. | 2 I 2 | 15. | 2 K 1 | 16. | 2 K 2 | +---------------------------+ On Thu, Feb 14, 2013 at 2:16 PM, André Gyllenram <a_gyllenram@hotmail.com> wrote: > I have a question about the command fillin. > > It is not possible to combine this with by. But can you do in some other way? > > I would like to write like this: > > by individual: fillin individual stock period. > > > My data looks like this; > > INDIVIDUAL STOCK PERIOD > 1 C 1 > 1 E 1 > 1 A 2 > 1 F 2 > > 2 G 1 > 2 H 1 > 2 I 2 > 2 K 2 > > And I would like to add observations with missing data so that in every time period there is a row for all stocks that the individual owns in any period. Individual 1 owns > stock C, E, A and F in period 1 or 2. This means that i want a row for these stocks in every time period for individual 1. > > Individual 2 owns stock G, H, I an K in period 1 or 2. So for every time period I want a row for these stocks for individual 2. In this example I want to add observations so the data looks like this: > > > INDIVIDUAL STOCK PERIOD > 1 A 1 > 1 C 1 > 1 E 1 > 1 F 1 > 1 A 2 > 1 C 2 > 1 E 2 > 1 F 2 > > 2 G 1 > 2 H 1 > 2 I 1 > 2 K 1 > 2 G 2 > 2 H 2 > 2 I 2 > 2 K 2 > > So in this example I want to add 8 rows. If I write fillin individual period I would add much more rows than i want to since the individuals together own stocks A, C, E, F, G, H, I > and K. * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/faqs/resources/statalist-faq/ * http://www.ats.ucla.edu/stat/stata/

**Follow-Ups**:**Re: st: Question about fillin***From:*Nick Cox <njcoxstata@gmail.com>

**References**:**st: Question about fillin***From:*André Gyllenram <a_gyllenram@hotmail.com>

- Prev by Date:
**Re: st: Question about fillin** - Next by Date:
**st: Test for cross-sectional dependency in dynamic panel data** - Previous by thread:
**Re: st: Question about fillin** - Next by thread:
**Re: st: Question about fillin** - Index(es):