1. Trang chủ
  2. » Công Nghệ Thông Tin

87463304 sử dụng chương trinh stata để khai thac số liệu

82 1,1K 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 82
Dung lượng 918 KB

Nội dung

Sử dụng chương trình Stata để khai thác số liệu Điều tra Mức sống hộ gia đình (VLSS) * nội dung Chương I: Giới thiệu chung chương trình Stata Tổ chức lưu trữ liệu Stata (Dataset in Stata) Stata phần mềm thống kê sử dụng để quản lý, phân tích số liệu vẽ đồ thị Stata cho phép lưu trữ thông tin đặc điểm đối tượng nghiên cứu Số liệu lưu trữ Stata hiển thị dạng bảng ví dụ sau: hhcode headname 101 Nguyen Van A 102 Le Thi B 103 Tran Van C Quan sát (bản ghi) hhsize 10 incomepc 2100 3210 1200 Mỗi hàng ngang bảng số liệu gọi quan sát (observation), hay ghi (record) lưu trữ số liệu đối tượng nghiên cứu ví dụ có quan sát lưu trữ số liệu Mã hộ (hhcode); Tên chủ hộ (headname); Quy mô hộ (hhsize); Thu nhập bình quân (incomepc) hộ gia đình Biến (trường; thuộc tính) Thông tin đối tượng nghiên cứu thu thập lưu trữ theo đặc điểm chúng Các đặc điểm gọi biến (variable), hay trường (field) Biến xem cột bảng số liệu ví dụ có biến, với tên hhcoed, hedname, hhsize, incomepc Tên biến dài từ đến 32 ký tự, bắt đầu chữ dấu gạch (_) Tên biến bao gồm chữ, sỗ dấu gạch Các ký tự đặc biệt khác dùng để đặt tên cho biến Biến xác định (identifying variables) Thông thường biến có biến dùng để nhận dạng quan sát, gọi biến xác định Nhờ có biến xác định mà quan sát phân biệt với Mỗi quan sát có giá trị biến ví dụ trên, biến xác định hhcode, quan sát biến hhcode nhận giá trị Các đặc điểm biến Các biến gán nhãn (chú thích) Ví dụ biến hhcode gán nhãn “Mã hộ” Biến định dạng (format) biến số biến ký tự với loại lưu trữ khác Biến số lưu trữ loại byte; int; long; float; double Còn biến ký tự lưu trữ dạng str1 đến str80 cho độ dài khác Kiểu lưu trữ Dung lượng Giá trị nhỏ Giá trị lớn Kiểu dạng số (Byte) byte -127 126 Số nguyên int -32,767 32,766 Số nguyên long -2,147,483,647 2,147,483,646 Số nguyên float -10^36 10^36 Số thực double -10^308 10^308 Số thực Các biến số bao gồm biến rời rạc liên tục Các biến quy mô hộ gia đình, giới tính chủ hộ, vùng địa lý, trình độ giáo dục biến rời rạc (discrete) (hay gọi biến phân loại (categorical)) Các biến lưu trữ dạng byte, int, long Các biến liên tục (continuous) thu nhập, chi tiêu hộ lưu trữ dạng float double Biến ký tự (string) dùng để lưu trữ loại ký tự Ví dụ biến headname biến kiểu ký tự dùng để lưu trữ tên chủ hộ Kiểu lưu trữ dạng chữ str1 str2 str80 Byte Độ dài lớn 2 80 80 Khởi động thoát khỏi Stata (Open and exit) Stata khởi động tương tự chương trình tin học ứng dụng khác, cách kích vào biểu tượng tệp wstata.exe Windows explorer, chọn cách chọn Start -> Program -> Stata Chương trình thoát lệnh exit từ cửa sổ lệnh Stata Command, tuỳ chọn exit thực đơn (menu) File Giao diện Stata (Stata interface)1 Sau Stata khởi động, giao diện Stata lên, bao gồm thực đơn (menu bar) cùng, công cụ (tool bar) cửa sổ (windows) Phiên Stata có giao diện tương tự phiên Stata Khác biệt lớn Stata có thêm tuỳ chọn Statistics thực đơn Tuỳ chọn cho phép thực số lệnh thống kê tuỳ chọn qua giao diện cửa sổ mà gõ lệnh cửa sổ Command Các cửa sổ Stata Các cửa sổ Stata mở việc lựa chọn tuỳ chọn thực đơn Windows (menu bar) Các cửa sổ bao gồm: Results Hiển thị lệnh kết Graph Hiển thị đồ thị Viewer Hiển thị cửa sổ trợ giúp (help) hiển thị nội dung file văn (text) Command Dùng để gõ câu lệnh Review Hiển thị lệnh thực Variables Hiển thị danh sách biến tệp số liệu Data editor Hiển thị sửa chữa số liệu dạng bảng Do-file editor Hiển thị cửa sổ để soạn thảo chương trình Thanh thực đơn (Menu bar) Bằng cách kích vào thực đơn tuỳ chọn đó, Stata thực lệnh khác Thanh thực đơn bao gồm nhóm lệnh sau đây: File Open Mở file số liệu View Xem file Stata cửa sổ Viewer Save Lưu file số liệu Save as Lưu file số liệu tên File name Chọn tên file để đưa vào cửa sổ lệnh Log Đóng, mở, xem lại log file Save graph Lưu giữ file đồ thị Print graph In đồ thị Print results In kết Exit Thoát khỏi Stata Edit Copy text Sao chép văn (text) Copy tables Sao chép bảng biểu Paste Dán Table copy options Lựa chọn chép bảng số liệu Graph copy options Lựa chọn chép đồ thị (không có Stata 7) Prefs Các tuỳ chọn màu sắc, phông chữ, kích cỡ Windows Results Mở cửa sổ kết Graph Mở cửa sổ đồ thị Log Mở cửa sổ log file Viewer Mở cửa sổ trợ giúp (help) xem nội dung file Command Mở cửa sổ câu lệnh Review Mở cửa sổ lệnh thực Variables Mở cửa sổ danh sách biến tệp số liệu Help/Search Mở cửa sổ trợ giúp (help) Data editor Mở cửa để xem số liệu lưu trữ dạng bảng Do-file editor Mở cửa sổ viết chương trình Help Các trợ giúp liên quan đến việc sử dụng Stata Thanh công cụ (tool bar) Các tuỳ chọn công cụ thiết kế để thực lệnh thông dụng Stata Nếu di chuyển trỏ đến nút lên câu huớng dẫn, bao gồm: Open (use) Mở file số liệu Stata Save Lưu trữ file số liệu đĩa Print results In nội dung cửa sổ kết Begin log Mở, đóng xem nội dung file log Start viewer Mở cửa sổ trợ trợ (help) Bring Dialog Window to font Đưa cửa sổ hộp thoại phía trước Bring Result Window to font Đưa cửa sổ kết phía trước Bring Graph Window to font Đưa cửa sổ vẽ đồ thị phía trước Do-file editor Mở cửa sổ soạn thảo chương trình Data editor Mở cửa sổ sửa chữa số liệu Data browser Mở cửa sổ xem số liệu Clear –more- condition Tắt lệnh more Break Dừng việc thực lệnh chương trình Biên làm việc (log file) Thông thường làm việc với Stata, người sử dụng muốn ghi lại biên làm việc bao gồm lệnh, thông báo kết phân tích thu Stata cho phép ghi lại biên làm việc lệnh log using Cú pháp: log using (đường dẫn\tên tệp) [, append replace [ text | smcl ] ] Các tuỳ chọn: append Ghi biên làm việc tiếp vào file có sẵn replace Ghi lại biên làm việc đè lên file có sẵn text Tạo biên làm việc dạng văn (text) (phần mở rộng log) smcl Tạo biên làm việc dạng smcl (phần mở rộng smcl), tuỳ chọn ngầm định Ví dụ: log using baitap1 Tạo tệp baitap1 ghi lại biên làm việc thư mục thời, phần mở rộng mặc định smcl log using baitap1 log: C:\baitap1.smcl log type: smcl opened on: 17 Feb 2004, 15:32:03 log using baitap1, replace Tạo tệp baitap1 ghi đè lên tệp baitap1 có sẵn log using “d:\baitap2”, text Tạo tệp baitap2 ổ đĩa D, dạng văn (text) (phần mở rộng log) log using “d:\baitap2”, append Ghi tiếp tục biên làm việc tệp baitap2 ổ đĩa D Các tệp với phần mở rộng smcl chuyển thành tệp text lệnh translate Ví dụ: translate baitap1.smcl exercise1.log log off Lệnh tạm thời dừng việc ghi lại biên làm việc vào tệp log/smcl mở log on Lệnh tiếp tục ghi biên làm việc vào tệp log mở Lênh dùng sau lện log using log off log close Lệnh đóng lưu trữ tệp log mở Chú ý: - Stata cho phép ghi lại mà người sử dụng gõ cửa sổ command, việc giúp cho việc sau viết chương trình dựa biên làm việc Cú pháp: cmdlog using (đường dẫn\tên tệp) [, append replace] cmdlog {off | on | close} - Để xem file log/smcl vào thực đơn: file/log/view (hoặc cửa sổ lệnh command gõ: view (tên tệp)); mở chương trình soạn thao văn khác MS-Word; Notepad Nhập lưu liệu (Use, input and and save) Mở tệp số liệu có: Cú pháp: use (đường dẫn\tên tệp) Lệnh mở tệp Stata, với phần rộng dta, tên tệp Ví dụ: use ho1.dta mở tệp ho1.dta thư mục thời use "D:\VHLSS 2004\ho1.dta", clear mở tệp ho1.ta thư mục VHLSS 2004 ổ D Tệp số liệu Stata mở lựa chọn Open thực đơn File; nút Open (use) công cụ tool bar Nếu file số liệu có dung lượng lớn phải thiết lập nhớ cần dùng cho Stata lệnh: set memory #[k|m] Ví dụ: set mem 32m set mem 32000k Nhập số liệu Có số cách để nhập số liệu từ bàn phím vào nhớ Stata - Sử dụng cửa sổ Stata editor để nhập số liệu Hoặc từ cửa sổ command, gõ lệnh edit Sau nhập số liệu theo kiểu biểu bảng cửa sổ - Sử dụng lệnh: input [danh sách biến + định dạng cần] Sau sử dụng bàn phím để nhập số liệu cho biến quan sát Giá trị nhập cách ký tự trống Kết thúc nhập số liệu lệnh end Ví dụ: input hhcode str15 name income hhcode name income 101 "Nguyen Van A" 1200 102 "Nguyen Van B" 1350 103 "Tran Thi C" 2310 end Stata cho phép nhập số liệu từ file sở liệu khác Trước hết file số liệu cần lưu trữ dạng text (có thể chương trình Excel), quan sát dòng giá trị cách phẩy (commas) dấu cách (tab) Sau dùng lệnh insheet để nhập số liệu vào Stata Cú pháp: insheet [danh sách biến] using (tên tệp text) [, [no]names comma tab clear] Lệnh đọc vào nhớ Stata quan sát tệp text, tên biến tạo Các tuỳ chọn: [no]names Cho phép nhập tên biến dòng thứ file text comma Thông báo giá trị file text phân cách dấu phẩy tab Thông báo giá trị file text phân cách dấu tab clear Số liệu đọc vào thay số liệu thường trú nhớ Stata Ví dụ: insheet using c:\income.txt (3 vars, obs) insheet maho hoten thunhap using c:\income.txt (note: variable names in file ignored) (3 vars, obs) Lưu trữ số liệu Cú pháp: save (đường dẫn\tên tệp) [,replace] Lệnh lưu trữ số liệu nhớ Stata thành tệp định tên tệp Nếu tuỳ chọn replace tệp số liệu ghi đè lên tệp thời (tất nhiên tên tệp số liệu giống nhau) Việc lưu trữ số liệu thực tùy chọn Save Save as thực đơn (menu bar); nút Save công cụ (tool bar) Chú ý: Xem thêm lệnh infile outfile Chương II: Khai thác liệu Cấu trúc lệnh Stata (Stata command syntax) Cấu trúc lệnh Stata sau: [by danh sách biến:] Cú pháp lệnh [danh sách biến] [biểu thức] [điều kiện] [phạm vi] [quyền số] [, tuỳ chọn] Trong phần Hướng dẫn sư dụng (Help) Stata, cú pháp lệnh trình bày tiếng Anh sau: [by varlist:] command [varlist] [=exp] [if exp] [in range] [weight] [, options] Trong dấu ngoặc vuông ký hiệu tuỳ chọn Chú ý: - Các câu lệnh Stata viết chữ thường - Đối với tên biến, Stata phân biệt chữ viết thường với chữ viết hoa Ví dụ, tệp số liệu, biến “Ho_ten” biến “ho_ten” biến khác - Các tuỳ chọn ký hiệu dấu ngoặc vuông [ ] Các tuỳ chọn có không câu lệnh Các tham số bắt buộc (tên biến) đặt dấu ngoặc < > Các câu lệnh không thực tham số bắt buộc không khai báo - Một số lệnh Stata cho phép viết tắt Ví dụ lệnh summarize viết tắt sum Trong tài liệu phần gạch chân cú pháp câu lệnh cú pháp “viết tắt” câu lệnh - Các ví dụ tài liệu sử dụng số liệu Điều tra Mức sống dân cư năm 1998 Tổng cục Thống kê tiến hành Trong Tệp chi tiêu tổng hợp Hhexp98n.dta thường xuyên sử dụng by danh sách biến (by varlist): Stata thực câu lệnh với theo giá trị danh sách biến Biến danh sách biến yêu cầu sẵp xếp trước thực lệnh Ví dụ: sort sex by sex: sum rlpcex1 -> sex = Variable | Obs Mean Std Dev Min Max -+ rlpcex1 | 4375 2980.906 2430.648 357.318 45801.71 -> sex = Variable | Obs Mean Std Dev Min Max -+ rlpcex1 | 1624 3748.368 3231.241 376.9805 30624.77 sort sex urban98 by sex urban98: sum rlpcex1 -> sex = 1, urban98 = Rural Variable | Obs Mean Std Dev Min Max -+ rlpcex1 | 3344 2308.134 1345.671 357.318 24386.43 -> sex = 1, urban98 = Urban Variable | Obs Mean Std Dev Min Max -+ rlpcex1 | 1031 5163.01 3602.245 682.9575 45801.71 -> sex = 2, urban98 = Rural Variable | Obs Mean Std Dev Min Max -+ rlpcex1 | 925 2553.448 1776.178 376.9805 25527.95 -> sex = 2, urban98 = Urban Variable | Obs Mean Std Dev Min Max -+ rlpcex1 | 699 5329.628 3962.946 1057.797 30624.77 Danh sách biến (varlist) Chỉ danh sách biến chịu tác động câu lệnh Nếu biến lệnh Stata có tác dụng lên tất biến (all variables) Ví dụ: sum hhsize sex reg7 Variable | Obs Mean Std Dev Min Max -+ hhsize | 5999 4.752292 1.954292 19 sex | 5999 1.270712 4443645 reg7 | 5999 4.01917 2.145305 sum Variable | Obs Mean Std Dev Min Max -+ househol | 5999 19617.86 11201.92 101 38820 year | 5999 97.94666 2247337 97 98 month | 5999 6.340723 3.011082 12 Break-r(1); Lệnh sum hiển thị thống kê tất biến tệp số liệu Điều kiện (if exp) Stata thực câu lệnh quan sát mà giá trị cho kết biểu thức Ví dụ: sum poor if reg7==1 Variable | Obs Mean Std Dev Min Max -+ poor | 859 4982538 5002882 Lệnh có tác dụng quan sát mà biến reg7 có giá trị Phạm vi (in range) Chỉ phạm vi quan sát chịu tác động câu lệnh Range (phạm vi) có dạng sau: sum poor in 10 Tính giá trị trung bình biến poor cho quan sát 10 (chính giá trị biến poor quan sát thứ 10) 10 12% foodpoor 18% poor but still above food povert 70% nonpoor set textsize 100 gr foodpoor nonfpood nonpoor, pie by(reg7) total region1 region2 region3 12% foodpoor 18% poor but still above food povert 70% nonpoor region4 region7 region5 region6 Total Lưu trữ hiển thị đồ thị (Saving and graph using) Để lưu trữ đồ thị cửa sổ graph, vào thực đơn File, chọn Save graph, sau lựa chọn đường dẫn tên file cho đồ thị, phần mở rộng ngầm định gph Đồ thị lưu trữ tuỳ chọn saving(tên tệp [,replace]) viết sau lệnh graph Ví dụ: gr educyr98 hhsize, bar means by(reg7) ylabel( to 10) alt saving ("c:\ thi 1") gr persons urban98, bar ylabel by(reg7) stack alt saving("c:\do thi 2") 68 Để không hiển thị đồ thị dùng lệnh tắt chế độ hiển thị đồ thị lệnh set graphics { on | off } set graphics off gr poor1-poor7, pie saving ("c:\do thi 3", replace) (note: file c:\do thi 3.gph not found) Stata cho phép hiển thị đồ thị lưu trữ lệnh: graph using [tệp tệp đồ thị ] [, margin(#)] margin(#) khoảng cách lề bao quanh đồ thị theo giá trị phần trăm diện tích đồ thị Giá trị ngầm định Ví dụ: set graphics on graph using "c:\do thi 1" "c:\do thi 2" "c:\do thi 3", margin(10) title("Mot so dac diem cua ho gia dinh") regio n1 regio n2 regio n3 persons 1:urban 98; 0:rural 98 12% f oodpoor 18% poor but st ill above f ood povert 1500 70% nonpoor regio n4 regio n7 regio n5 regio n6 1000 500 Total region1 region2 region3 region4 region5 region6 region7 24% poor1 16% poor2 16% poor3 12% poor4 10% poor5 4% poor6 18% poor7 Mot so dac diem cua ho gia dinh Chú ý: Chúng ta co thể kết hợp lệnh saving với using để lưu trữ đồ thị Ví dụ: graph using "c:\do thi 1" "c:\do thi 2" "c:\do thi 3", margin(10) title("Mot so dac die m cua ho gia dinh") saving("c:\do thi tong hop") graph using "c:\do thi tong hop" 69 Chương V: Lập trình Stata Giới thiệu chung chương trình do-file 1.1 Mở lưu trữ do-file Stata cho phép viết tệp gọi do-file bao gồm lệnh Stata Thay thực lệnh từ cửa sổ lệnh command, tệp do-file thực lệnh Chương trình Stata soạn thảo cửa sổ do-file editor Cửa sổ mở cách kích vào thực đơn Windows chọn tuỳ chọn do-file editor Một cách khác để mở cửa sổ gõ lệnh doedit cửa sổ lệnh command Ví dụ: Một chương trình soạn thảo cửa sổ do-file editor sau: -clear set mem 32m use "C:\VLSS98\Hhexp98n.dta", clear tab urban98 sum hhsize gen new=hhsizet gen new=hhsize Sau soạn thảo, do-file lưu trữ tuỳ chọn Save as thực đơn File cửa sổ do-file editor Tên do-file lệnh doedit sau: doedit (tên do-file) Tệp do-file có phần mở rộng ví dụ lưu trữ đoạn chương trình tên “chương trình 1” thư mục Vlss98 ổ đĩa C 1.2 Thực tệp do-file Để chạy do-file cửa sổ lệnh gõ hai lệnh sau: filename [, nostop] run filename [, nostop] 70 Lệnh run thực lệnh do-file không hiển thị kết hình Trong trình thực do-file, có câu lệnh sai Stata báo lỗi ngừng việc thực câu lệnh sau Tuy nhiên tuỳ chọn nostop Stata bỏ qua câu lệnh bị lỗi tiếp tục thực lệnh sau câu lệnh lỗi Ví dụ: "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 19 gen new=hhsizet hhsizet not found r(111); end of do-file r(111); Với tuỳ chọn nostop "c:\vlss98\chuong trinh 1", nostop clear set mem 32m (32768k) use "C:\VLSS98\Hhexp98n.dta", clear tab urban98 1:urban 98; | 71 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 19 gen new=hhsizet hhsizet not found r(111); gen new=hhsize end of do-file Thực (chạy) lệnh run run "c:\vlss98\chuong trinh 1", nostop hhsizet not found Các do-file thực tuỳ chọn Do thực đơn File, thực trực tiếp cửa sổ Do-file editor tuỳ chọn Do Run thực đơn Tool 1.3 Một số lưu ý soạn thảo do-file version # Khi soạn thảo tệp do-file nên đưa dòng lệnh vào đầu chương trình để thông báo phiên Stata dùng để soạn thảo do-file Ví dụ dùng Stata 7.0 để soạn thảo do-file câu lệnh đưa vào đầu chương trình sau: version 7.0 clear use Hhexp98n.dta tab reg7 … Các phiên Stata khác có khác cú pháp ý nghĩa câu lệnh Lệnh version cho phép chương trình Stata chạy hiểu nội dung tệp do-file viết phiên khác set memory #[k|m] Nếu file số liệu đòi hỏi nhớ lớn nhớ mà Stata sử dụng phải thiết lập nhớ lớn cho Stata lệnh Chú ý không nên thiết lập nhớ lớn nhớ RAM máy tính 72 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, thực lệnh kết việc xử lý lệnh dài cửa sổ kết (Stata Results), hình dừng lại phải ấn phím (chẳng hạn Enter Space bar) để kết tiếp tục hiển thị Lệnh set more off cho phép kết không bị dừng lại mà hiển thị liên tục thực xong câu lệnh do-file Lệnh set more on khôi phục lại chế độ ngầm định Ký tự * /* */ Stata không thực câu lệnh bắt đầu ký tự * nằm hai nhóm ký tự /* */ Các ký tự dùng để viết thích do-file Ví dụ: -version 7.0 set mem 32m use "C:\Hhexp98n.dta", clear * Tao bien thu nhap cua ho gia dinh /* Bien bang Thu nhap binh quan nhan voi Quy mo ho*/ gen hhexp = rlpcex1 * hhsize #delimit ; Khi câu lệnh do-file editor dài dùng lệnh để thông báo câu lệnh kết thúc ký tự (;) Theo chế độ ngầm định câu lệnh kết thúc xuống dòng việc gõ phím Enter Để khôi phục lại chế độ ngầm định 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 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) 73 yline(2 to 8) connect(ll) ; gen hhexp = rlpcex1 * hhsize ; …… Sau nên khôi phục lại chế độ ngầm định câu lệnh sau viết dòng lệnh: #delimit cr Chú ý: - Chúng ta dùng ký tự /* */ để viết câu lệnh dài sau: 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 to 8) connect(ll); - Các lệnh # delimit cách viết câu lệnh dài sử dụng ký tự /* */ dùng dofile không dùng cửa sổ lệnh command Local global macros Macros biến dùng chương trình Stata Biến macros xem đoạn ký tự - gọi macroname (tên macros) - tương ứng với dãy ký tự khác - gọi macro contents (nội dung macro) Có hai loại macros local macros (macros nội bộ) global macros (macros toàn bộ) 2.1 Local macros Nếu gõ: local hogd “age hhsize rlpcex1” (Dấu nháy kép co thể bỏ qua, tức gõ: local hogd age hhsize rlpcex1) Khi `hogd’ hiểu tương đương với: age hhsize rlpcex1 hogd gọi tên macros, age hhsize rlpcex1 nội dung macros Để sử dụng nội dung macros, gõ tên macros dấu trích dẫn bên trái ( ‘ ) – nằm phía bên trái bàn phím - dấu trích dẫn bên phải ( ‘ ) – nằm phía phải bên bàn phím Như gõ: summarize `hogd’ tương đương với gõ: summarize age hhsize rlpcex1 Nếu gõ: local tb “summarize” thực lệnh summarize age hhsize rlpcex1 cách gõ: `tb' `hogd' Variable | Obs Mean Std Dev Min Max -+ -age | 5999 48.01284 13.7702 16 95 74 hhsize | 5999 4.752292 1.954292 19 rlpcex1 | 5999 3188.667 2692.567 357.318 45801.71 Để hiển thị nội dung local macros gõ lệnh macros list _(tên local macros) Ví dụ: macro list _hogd _hogd: age hhsize rlpcex1 Để xoá local macros dung lênh macros drop _(tên local macros) Ví dụ: macro drop _hogd macro list _hogd local macro `hogd' not found r(111); 2.2 Global macros Nếu gõ: global diaban “reg7 province commune” (hoặc bỏ qua dấu ngoặc kép: global diaban reg7 province commune) Khi $diaban tương đương với: reg7 province commune diaban gọi tên macros, reg7 province commune nội dung macros Để sử dụng nội dung global macros gõ ký hiệu $ liền trước tên macros Như gõ: describe $diaban tương đương với gõ: describe : reg7 province commune describe $diaban storage display value variable name type format label variable label reg7 int %8.0g Code by regions province float %9.0g Province code commune float %9.0g commune code PSU-SVY commands global mota "describe" $mota $diaban storage display value variable name type format label variable label reg7 int %8.0g Code by regions 75 province commune float %9.0g float %9.0g Province code commune code PSU-SVY commands Để hiển thị nội dung global macros gõ lệnh macros list (tên global macros) Ví dụ: global diaban "reg7 province commune" macro list diaban diaban: reg7 province commune Để xoá global macros dùng lệnh macros drop (tên local macros) Ví dụ: macro drop diaban macro list diaban global macro $diaban not found r(111); 2.3 Sự khác local macros global macros Local macros tồn chương trình Một chương trình không hiểu local macros sử dụng chương trình khác Trong đó, khai báo, global macros hiểu tất chương trình tồn nhớ Stata suốt trình hoạt động Ví dụ: Thực đoạn chương trình khai báo local macros a Sau thực lệnh hiển thị nội dung local macros này, macros không tồn đoạn chương trinh khác hay nhớ Stata "C:\WINDOWS\TEMP\STD010000.tmp" local a "chuong trinh thong ke Stata" end of do-file macro list _a local macro `a' not found r(111); Trong global macros "C:\WINDOWS\TEMP\STD010000.tmp" global b "chuong trinh thong ke Stata" end of do-file macro list b b: chuong trinh thong ke Stata Tích vô hướng ma trận (scalar and matrix) 3.1 Ma trận (matrix) Stata định nghĩa ma trận A[r, c] mảng hình chữ nhật gồm r hàng (row) c cột (column) 76 Ví dụ: Nếu ma trận A tạo xem nội dung ma trận sau: matrix list A A[3,3] c1 c2 c3 r1 r2 r3 10 11 14 ma trận A bao gồm phần tử (element): 1, 2, 4, 3, 4, 7, 10, 11, 14 Các cột đặt tên c1, c2, c3, hàng r1, r2, r3 Phần tử giao điểm dòng cột ký hiệu A[1, 2] Trong ví dụ A[1, 2] chứa giá trị 3.2 Tích vô hướng (scalar) Tích vô hướng chứa phần tử số Tích vô hướng định nghĩa lệnh sau: scalar scalar_name = expression Ví dụ: scalar a = 10 scalar list a a = 10 scalar b = a* scalar list b b = 20 Trong chừng mực đó, tích vô hướng xem trường hợp đặc biệt ma trận có phân tử (một hàng cột) 3.3 Một số lệnh làm việc với ma trận Thiểt lập kích thước ma trận Gia trị ngầm định kích thước ma trận tối đa 40 hàng 40 cột Chúng ta thay đổi kích thước tối đa lệnh: set matsize 500 Lệnh cho phép ma trận tạo bao gồm 500 hàng 500 cột Tạo ma trận Ma trận tạo câu lệnh trực tiếp Ví dụ: matrix mymat = (1,2\3,4) Các phần tử phân biệt dấu phẩy, hàng phân biệt dấu gạch chéo matrix myvec = (1 3) Tạo véctơ hàng matrix mycol = (1/5/3/1/3) Tạo véctơ cột Ma trận tạo từ số liệu lệnh: 77 mkmat [điều kiện] [phạm vi] [, matrix(tên ma trận) ] Ví dụ: input maho quymo thunhap maho quymo thunhap 101 1200 103 1400 105 3200 107 1000 109 2500 end mkmat maho quymo thunhap, matrix(A) matrix list A A[5,3] maho quymo thunhap r1 101 1200 r2 103 1400 r3 105 3200 r4 107 1000 r5 109 2500 Tính toán ma trận matrix D =B Tạo ma trận D ma trận B matrix C = (C+C)/2 Tính lại ma trận C dựa giá trị của matrix D = A*A’ Tạo ma trận D tích ma trận A ma trận chuyển vị A’ Xoá ma trận Ma trận tích vô hướng xoá khỏi nhớ lệnh: matrix drop scalar drop Ví dụ: matrix drop A scalar drop B Lệnh điều kiện vòng lặp 4.1 Lệnh if…else Cú pháp: điều kiện (điểu kiện logic) { Nhóm câu lệnh } else Câu lệnh 78 Stata kiểm tra điều kiện logic (expression), điều kiện lệnh Nhóm câu lệnh thực hiện, điều kiện sai lệnh đằng sau else thực hiện, trường hợp else không Stata thực lệnh sau lệnh if {…} Ví dụ: local a=invnorm(uniform()) if `a'>=0 { display "So ngau nhien tao lon hon hoac bang 0" } else di "So ngau nhien tao nho hon 0" macro list _a Chú ý: - Sử ký hiệu { } cho phép viết nhiều câu lệnh sau else điều kiện (điểu kiện) { commands } else { comands } - Các lệnh if…else sử dụng lồng với điều kiện (điểu kiện) { Nhóm câu lệnh } else điều kiện (điều kiện) { … 4.2 Lệnh while Cú pháp: while { Nhóm câu lệnh } Stata kiểm tra điều kiện logic (expression), điều kiện lệnh “Nhóm câu lệnh” thực hiện, điều kiện sai lệnh không thực Ví dụ: local i=1 while `i’

Ngày đăng: 04/09/2016, 18:33

w