• No se han encontrado resultados

Stata cho phÐp viÕt c¸c tÖp ®îc gäi lµ do-file bao gåm c¸c lÖnh cña Stata. Thay v× thùc hiÖn tõng lÖnh mét tõ cöa sæ lÖnh command, c¸c tÖp do-file sÏ lÇn lît thùc hiÖn c¸c lÖnh ®ã.

Ch¬ng tr×nh Stata ®îc so¹n th¶o trong cöa sæ do-file editor. Cöa sæ nµy ®îc më b»ng c¸ch kÝch vµo thùc ®¬n Windows vµ chän tuú chän do-file editor. Mét c¸ch kh¸c ®Ó më cöa sæ nµy lµ gâ lÖnh doedit t¹i cöa sæ lÖnh command.

VÝ dô:

Mét ch¬ng tr×nh cã thÓ ®îc so¹n th¶o trong cöa sæ do-file editor nh sau: ---

clear

set mem 32m

use "C:\VLSS98\Hhexp98n.dta", clear tab urban98

sum hhsize

gen new=hhsizet gen new=hhsize

---

Sau khi so¹n th¶o, do-file sÏ ®îc lu tr÷ b»ng tuú chän Save as trong thùc ®¬n File cña cöa sæ do-file editor. Tªn cña do-file cã thÓ ®îc chØ ra ngay t¹i lÖnh doedit nh sau:

doedit (tªn do-file)

TÖp do-file cã phÇn më réng lµ do.

ë vÝ dô trªn chóng ta cã thÓ lu tr÷ ®o¹n ch¬ng tr×nh díi tªn lµ “ch¬ng tr×nh 1” t¹i th môc Vlss98 trªn æ ®Üa C.

1.2. Thùc hiÖn c¸c tÖp do-file

§Ó ch¹y do-file th× t¹i cöa sæ lÖnh chóng ta gâ mét trong hai lÖnh sau:

do filename [, nostop] run filename [, nostop]

LÖnh run thùc hiÖn c¸c lÖnh trong do-file nhng kh«ng hiÓn thÞ kÕt qu¶ ra mµn h×nh.

Trong qu¸ tr×nh thùc hiÖn do-file, nÕu cã c©u lÖnh sai th× Stata sÏ b¸o lçi vµ ngõng viÖc thùc hiÖn c¸c c©u lÖnh sau ®ã. Tuy nhiªn nÕu tuú chän

nostop ®îc chØ ra th× Stata sÏ bá qua c©u lÖnh bÞ lçi vµ tiÕp tôc thùc

hiÖn c¸c lÖnh sau c©u lÖnh lçi ®ã.

VÝ dô:

. do "c:\vlss98\chuong trinh 1" . clear

. set mem 32m (32768k)

. use "C:\VLSS98\Hhexp98n.dta", clear . tab urban98

1:urban 98; |

0:rural 98 | Freq. Percent Cum. ---+--- Rural | 4269 71.16 71.16 Urban | 1730 28.84 100.00 ---+--- Total | 5999 100.00 . sum hhsize

Variable | Obs Mean Std. Dev. Min Max ---+---

hhsize | 5999 4.752292 1.954292 1 19

. gen new=hhsizet hhsizet not found r(111);

end of do-file r(111);

Víi tuú chän nostop

. do "c:\vlss98\chuong trinh 1", nostop . clear

. set mem 32m (32768k)

. use "C:\VLSS98\Hhexp98n.dta", clear . tab urban98

1:urban 98; |

0:rural 98 | Freq. Percent Cum. ---+--- Rural | 4269 71.16 71.16 Urban | 1730 28.84 100.00 ---+--- Total | 5999 100.00 . sum hhsize

Variable | Obs Mean Std. Dev. Min Max ---+---

hhsize | 5999 4.752292 1.954292 1 19

. gen new=hhsizet hhsizet not found r(111);

. gen new=hhsize . end of do-file

Thùc hiÖn (ch¹y) b»ng lÖnh run

. run "c:\vlss98\chuong trinh 1", nostop hhsizet not found

C¸c do-file cã thÓ thùc hiÖn b»ng tuú chän Do trong thùc ®¬n File, hoÆc thùc hiÖn trùc tiÕp trong cöa sæ Do-file editor b»ng tuú chän Do hoÆc Run trong thùc ®¬n Tool.

1.3. Mét sè lu ý khi so¹n th¶o do-file version #

Khi so¹n th¶o c¸c tÖp do-file chóng ta nªn ®a dßng lÖnh nµy vµo ®Çu ch- ¬ng tr×nh ®Ó th«ng b¸o phiªn b¶n Stata ®îc dïng ®Ó so¹n th¶o do-file. VÝ dô nÕu nh chóng ta dïng Stata 7.0 ®Ó so¹n th¶o do-file th× c©u lÖnh nµy sÏ ®îc ®a vµo ®Çu ch¬ng tr×nh nh sau:

version 7.0 clear

use Hhexp98n.dta tab reg7

….

C¸c phiªn b¶n Stata kh¸c nhau sÏ cã thÓ cã sù kh¸c nhau vÒ có ph¸p hoÆc ý nghÜa cña c¸c c©u lÖnh. LÖnh version cho phÐp ch¬ng tr×nh Stata ch¹y cã thÓ hiÓu ®óng ®îc néi dung cña tÖp do-file ®îc viÕt bëi c¸c phiªn b¶n kh¸c.

set memory #[k|m]

NÕu nh file sè liÖu ®ßi hái bé nhí lín h¬n bé nhí mµ Stata ®ang sö dông th× chóng ta ph¶i thiÕt lËp bé nhí lín h¬n cho Stata b»ng lÖnh trªn. Chó ý lµ kh«ng nªn thiÕt lËp bé nhí lín h¬n bé nhí cña RAM m¸y tÝnh.

VÝ dô:

. use "C:\Hhexp98n.dta", clear no room to add more observations r(901);

. set mem 32m (32768k)

. use "C:\Hhexp98n.dta", clear

set more off/on

Theo chÕ ®é ngÇm ®Þnh, khi thùc hiÖn mét lÖnh nÕu nh kÕt qu¶ cña viÖc xö lý lÖnh ®ã dµi h¬n cöa sæ kÕt qu¶ (Stata Results), mµn h×nh sÏ dõng l¹i vµ chóng ta sÏ ph¶i Ên phÝm (ch¼ng h¹n Enter hoÆc Space bar) ®Ó kÕt qu¶ tiÕp tôc ®îc hiÓn thÞ. LÖnh set more off cho phÐp kÕt qu¶ kh«ng bÞ dõng l¹i mµ ®îc hiÓn thÞ liªn tôc cho ®Õn khi thùc hiÖn xong c©u lÖnh hoÆc do-file. LÖnh set more on kh«i phôc l¹i chÕ ®é ngÇm ®Þnh.

Stata sÏ kh«ng thùc hiÖn c¸c c©u lÖnh ®îc b¾t ®Çu b»ng ký tù * hoÆc n»m ë gi÷a hai nhãm ký tù /* */. C¸c ký tù nµy dïng ®Ó viÕt chó thÝch trong do-file.

VÝ dô:

--- version 7.0 set mem 32m

use "C:\Hhexp98n.dta", clear

* Tao bien thu nhap cua ho gia dinh /* Bien nay bang Thu nhap binh quan nhan voi Quy mo ho*/

gen hhexp = rlpcex1 * hhsize

#delimit ;

Khi c©u lÖnh trong do-file editor qu¸ dµi th× chóng ta cã thÓ dïng lÖnh nµy ®Ó th«ng b¸o r»ng 1 c©u lÖnh ®îc kÕt thóc b»ng ký tù (;). Theo chÕ ®é ngÇm ®Þnh th× c©u lÖnh ®îc kÕt thóc khi xuèng dßng b»ng viÖc gâ phÝm Enter. §Ó kh«i phôc l¹i chÕ ®é ngÇm ®Þnh th× dïng lÖnh #delimit cr

VÝ dô: ë lÖnh vÏ ®å thÞ ë ch¬ng tríc:

graph meanexp meanedu ahhsize, title (Do thi chi tieu va hoc van chu ho) l1title(Chi tieu binh quan (tr dong)) l2title(So nam hoc cua chu ho) b2title (Quy mo ho gia dinh) xlabel ylabel xline (5 10 to 20) yline(2 4 to 8) connect(ll)

tu¬ng ®¬ng víi: #delimit ;

graph meanexp meanedu ahhsize, title (Do thi chi tieu va hoc van chu ho) l1title(Chi tieu binh quan (tr dong)) l2title(So nam hoc cua chu ho)

b2title (Quy mo ho gia dinh) xlabel ylabel xline (5 10 to 20) yline(2 4 to 8) connect(ll) ;

gen hhexp = rlpcex1 * hhsize ; ……..

Sau ®ã chóng ta nªn kh«i phôc l¹i chÕ ®é ngÇm ®Þnh nÕu nh c¸c c©u lÖnh sau ®ã cã thÓ viÕt trªn 1 dßng b»ng lÖnh:

#delimit cr

Chó ý:

graph meanexp meanedu ahhsize, title (Do thi chi tieu va hoc van chu ho) /*

*/ l1title(Chi tieu binh quan (tr dong)) l2title(So nam hoc cua chu ho) /*

*/ b2title (Quy mo ho gia dinh) xlabel ylabel xline (5 10 to 20) yline(2 4 to 8) connect(ll);

- C¸c lÖnh # delimit vµ c¸ch viÕt c©u lÖnh dµi sö dông ký tù /* */ chØ

dïng ®îc trong do-file chø kh«ng dïng ®îc t¹i cöa sæ lÖnh command.