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/