Bookmark and Share

Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down at the end of May, and its replacement, statalist.org is already up and running.


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

Re: st: Using foreach and forval to append data files


From   Maarten Buis <maartenlbuis@gmail.com>
To   statalist@hsphsun2.harvard.edu
Subject   Re: st: Using foreach and forval to append data files
Date   Tue, 26 Mar 2013 13:15:04 +0100

local k = 1
forval i = 1/6 {
    foreach j of numlist 1 2 8 {
        if `k' == 1 {
            use `i'_`j'_results
        }
        else {
            append using `i'_`j'_results
        }
        local k = `k' + 1
    }
}

Hope this helps,
Maarten

On Tue, Mar 26, 2013 at 1:07 PM, Tim Evans wrote:
> Using Stata 11.2, I've created 18 individual results sets that have the following naming schedule:
>
> 1_1_results.dta
> 1_2_results.dta
> 1_8_results.dta
> 2_1_results.dta
> 2_2_results.dta
> 2_8_results.dta
> 3_1_results.dta
> 3_2_results.dta
> 3_8_results.dta
>
> This continues until the first number reaches 6.
>
> What I am trying to achieve is an automated process of appending all data files and I was using the following code - but this adds a duplication of the file 1_1_results:
>
> use 1_1_results.dta, replace
> forval i = 1/6 {
> foreach j of numlist 1 2 8 {
> append using `i'_`j'_results
> }
> }
>
> I then tried this:
>
> use 1_1_results.dta, replace
> forval i = 2/6 {
> foreach j of numlist 1 2 8 {
> append using `i'_`j'_results
> }
> }
>
> Which I then realised that I miss out on any file named:
>
> 1_2_***
> 1_8_***
>
> Other than using the first loop and using -duplicates- to identify and then remove the duplicates, is there a more direct way of using and then appending datasets?
>
> Best wishes
>
> Tim
>
>
> _DISCLAIMER:
> This email and any attachments hereto contains proprietary information, some or all of which may be confidential or legally privileged. It is for the exclusive use of the intended recipient(s) only. If an addressing or transmission error has misdirected this e-mail and you are not the intended recipient(s), please notify the author by replying to this e-mail. If you are not the intended recipient you must not use, disclose, distribute, copy, print, or rely on this e-mail or any attachments, as this may be unlawful.
>
>
> *
> *   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/



-- 
---------------------------------
Maarten L. Buis
WZB
Reichpietschufer 50
10785 Berlin
Germany

http://www.maartenbuis.nl
---------------------------------

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


© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index