Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at

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

Re: st: Using values in an variable to save parts of an dataset

From   Sergiy Radyakin <>
To   "" <>
Subject   Re: st: Using values in an variable to save parts of an dataset
Date   Tue, 30 Apr 2013 10:42:51 -0400

note you need to preserve/restore the data in the loop and be more
careful with locals vs variables.

sysuse auto, clear
levelsof foreign, local(levs)
foreach lev in `levs' {
   keep if foreign==`lev'
   save c:\temp\auto_`lev'

Best, Sergiy

On Tue, Apr 30, 2013 at 10:33 AM, Andreas Dall Frøseth
<> wrote:
> Dear all.
> I'm trying to divide my dataset into pieces based on the values in an variable. My set is an large panel data, containing a number of companies. Each company has a value in the variable "industryid", which allows me to identify what industry it operates in.
> I am now trying to divide this large dataset into smaller sets for each single industry.
> The reason why I'm struggling is that I wish to apply this separation for a number of different sets, which might contain a different amount of industries, without having to identify the values in the industry-variable myself.
> I have tried to make a macro with the values using the "levelsof" command, and then apply it with:
> foreach industryid in `industryids' {
>         keep if industryid==`industryids'
>         save industry_`industryids'
> }
> But this runs back as "invalid '10'".
> Any suggestions on how to do this?
> Forgive me if this is way to basic...
> Your feedback will be appreciated.
> -Andreas
> *
> *   For searches and help try:
> *
> *
> *

*   For searches and help try:

© Copyright 1996–2017 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index