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: Some basic help on programming
From
Friedrich Huebler <[email protected]>
To
"[email protected]" <[email protected]>
Subject
Re: st: Some basic help on programming
Date
Mon, 16 Apr 2012 07:36:42 -0400
Prakash,
Please show your code. How many levels do you have?
Friedrich
On 2012-04-16, at 2:02, Prakash Singh <[email protected]> wrote:
> Friedrich
>
> I could make necessary changes in the programme for most of the part
> and in fact I could run it successfully but later on I thought why we
> can't merge level`l'data the way item`i' data is merged and that's how
> I starting falling apart.
>
> I am sorry for my slow learning but this is my first time with any
> programming effort, I could tell you only after reaching dead end of
> the efforts I am knocking.
>
> Thanks
> Prakash
>
> On Mon, Apr 16, 2012 at 4:25 AM, Friedrich Huebler <[email protected]> wrote:
>> Prakash,
>>
>> You should have enough information to find the solution yourself.
>> Previously, you worked with two files, level3_list.dta and
>> level4_list.dta. The numbers 3 and 4 occur at the beginning and end of
>> the code I provided. Now assume you add level5_list.dta. I indicate
>> below where you have to change the code.
>>
>> local levels "3 4" <-- Change this command by adding the number 5
>> [leave remaining commands unchanged]
>> drop _merge <-- Add this because you merge more than two sets of
>> data. See -help merge- for more information.
>> merge common_id using "level4data.dta" <-- Repeat the last command
>> from the original code but change 4 to 5.
>>
>> Repeat the above if you want to add levels 6, 7 and so on.
>>
>> Friedrich
>>
>> On Sat, Apr 14, 2012 at 1:44 PM, Prakash Singh <[email protected]> wrote:
>>> Dear Friedrich,
>>>
>>> Though, I am reading materials to learn programming but I am finding
>>> it little tricky thus forced to ask probably this stupid query.
>>> I was wondering what should be the command for creating local in case
>>> I want to let stata read more than two levels of data in the
>>> programme code you provided me the last mail. the codes I have pasted
>>> below for ease.
>>>
>>> local levels "3 4"
>>> foreach l of local levels {
>>> use "level`l'_list.dta", clear
>>> local vars "item_code asicc_code unit_quantity quantity value"
>>> levelsof item_code, local(items)
>>> foreach i of local items {
>>> preserve
>>> keep if item_code==`i'
>>> foreach var of varlist `vars' {
>>> ren `var' `var'_`i'
>>> }
>>> sort common_id
>>> save "item`i'.dta", replace
>>> restore
>>> }
>>> contract common_id
>>> drop _freq
>>> foreach i of local items {
>>> merge common_id using "item`i'.dta"
>>> drop _merge
>>> sort common_id
>>> }
>>> save "level`l'data.dta"
>>> }
>>> use "level3data.dta"
>>> merge common_id using "level4data.dta"
>>>
>>> Thanks
>>> Prakash
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/