Bookmark and Share

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


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

Re: st: extracting of data


From   Nick Cox <[email protected]>
To   [email protected]
Subject   Re: st: extracting of data
Date   Wed, 23 Jan 2013 09:09:04 +0000

I don't understand Prakash's overall problem and so I do not know
whether the strategy suggested is appropriate for his problem. I note
that in a very recent thread starting at

http://www.stata.com/statalist/archive/2013-01/msg00881.html

Prakash was trying to -merge- data files. Perhaps that was a different
problem, but clearly -append- and -merge- are not alternative
solutions to the same problem.

That said, what is wrong here from a Stata point of view can be seen
at looking at the code

 forv l=1/9 {
     save `mydata', emptyok
     ....
     save "D:\TEAM_PC\level`l'_list.dta", replace
}

As above, the outer loop starts with a -save-, but second time around
the loop the file `mydata' already exists, so Stata complains. A wild
guess is that Prakash should add

erase `mydata'

to the end of the loop, but that's just a possible fix for this
specific problem.

Nick

On Wed, Jan 23, 2013 at 4:58 AM, Prakash Singh <[email protected]> wrote:
> Jeph thanks for the kind help.
> There seems to be small problem, if you could lighten a bit more then
> I think I am through.
>
> Though the loop is reading all the dct file within level but in the
> end it gives error massage
>
> file D:\TEAM_PC\level1_list.dta saved
> file C:\Users\Prakash\AppData\Local\Temp\ST_00000003.tmp already exists
> r(602);
>
> Prakash
>
>
> On Tue, Jan 22, 2013 at 11:49 PM, Jeph Herrin <[email protected]> wrote:
>> Do you have 9 different .dct files for each level? Then maybe you intend
>> something like this:
>>
>>
>>  clear
>>  set more off
>>  set mem 500m
>>  tempfile mydata
>>  forv l=1/9 {
>>     save `mydata', emptyok
>>     forv d=1/9 {
>>         infile using D:\TEAM_PC\level`l'\level`d'.dct, clear
>>
>>         capture append using `mydata'
>>         save `mydata', replace
>>         }
>>     keep if level==`l'
>>     save "D:\TEAM_PC\level`l'_list.dta", replace
>>  }
>>
>> hth,
>> Jeph
>>
>>
>> On 1/21/2013 1:15 PM, Prakash Singh wrote:
>>>
>>> Nick
>>> Though I managed to write the code and run it but I realised today
>>> that for each level stata is extracting data from only one txt file.
>>> which means that only one dct file is being read.
>>>
>>> here is the revised code
>>>
>>> clear
>>> set more off
>>> set mem 500m
>>> tempfile mydata
>>> forv l=1/9 {
>>>         infile using D:\TEAM_PC\level`l'\level`l'.dct, clear
>>>         capture append using `mydata'
>>>         save `mydata', replace
>>>         keep if level==`l'
>>>         save "D:\TEAM_PC\level`l'_list.dta", replace
>>> }
>>>
>>>
>>> Regards
>>> Prakash
>>>
>>> On Tue, Jan 1, 2013 at 9:32 PM, Prakash Singh <[email protected]>
>>> wrote:
>>>>
>>>> Thanks Nick
>>>> I got it finally
>>>>
>>>> Best wishes to all stata listers for 2013
>>>>
>>>> Regards
>>>> Prakash
>>>>
>>>> On Mon, Dec 31, 2012 at 11:10 PM, Nick Cox <[email protected]> wrote:
>>>>>
>>>>> I don't understand what is holding you up. Your code shows that you
>>>>> are familiar with -foreach- and -forval-. So you need to write another
>>>>> big loop using that construct.
>>>>>
>>>>> Nick
>>>>>
>>>>> On Mon, Dec 31, 2012 at 4:37 PM, Prakash Singh <[email protected]>
>>>>> wrote:
>>>>>>
>>>>>> Nick, I thanked you for that
>>>>>>
>>>>>> I mentioned in the first mail that the structure of the data is such
>>>>>> that to have final data I need to extract 9 (using 9 dct file for each
>>>>>> level) different level files then some of them I need to reshape and
>>>>>> then merge them.
>>>>>>
>>>>>>
>>>>>> Hope, I have made my query more clear to you.
>>>>>>
>>>>>> regards
>>>>>> Prakash
>>>>>> On Mon, Dec 31, 2012 at 9:48 PM, Nick Cox <[email protected]> wrote:
>>>>>>>
>>>>>>> You don't comment on my replacement of 9 lines of code with 1.
>>>>>>>
>>>>>>> Your main loop looks like another -forval- or -foreach- loop but you
>>>>>>> don't explain why you want to save different levels in different
>>>>>>> datasets.
>>>>>>>
>>>>>>> Nick
>>>>>>>
>>>>>>> On Mon, Dec 31, 2012 at 2:27 PM, Prakash Singh <[email protected]>
>>>>>>> wrote:
>>>>>>>>
>>>>>>>> Nick sorry but that is type error.
>>>>>>>> Thanks for the suggestion anyway.
>>>>>>>>
>>>>>>>> Moreover I am looking some help on creating look so that I can repeat
>>>>>>>> the following code for each level 1 to 9.
>>>>>>>>
>>>>>>>> clear
>>>>>>>> set more off
>>>>>>>> set mem 500m
>>>>>>>> tempfile mydata
>>>>>>>> foreach l of numlist 11/19 {
>>>>>>>>     infile using D:\TEAM_PC\level`l'.dct, clear
>>>>>>>>     capture append using `mydata'
>>>>>>>>      save `mydata', replace
>>>>>>>> }
>>>>>>>> use `mydata', clear
>>>>>>>> keep if level==1
>>>>>>>> save level1_list.dta", replace
>>>>>
>>>>> *
>>>>> *   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/
>>>
>>> *
>>> *   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/
>>>
>>>
>> *
>> *   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/
> *
> *   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/
*
*   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–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index