Các cửa sổ này bao gồm: Results Hiển thị các lệnh và kết quả Viewer Hiển thị cửa sổ trợ giúp help và hiển thị nội dung các file văn bản text Command Dùng để gõ các câu lệnh Review Hiển t
Trang 1Sử 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 về chương trình Stata
1 Tổ chức lưu trữ dữ liệu trong Stata (Dataset in Stata)
Stata là phần mềm thống kê sử dụng để quản lý, phân tích số liệu và vẽ đồ thị Stata cho phéplưu trữ thông tin về các đặc điểm của các đối tượng nghiên cứu Số liệu lưu trữ trong Stata cóthể được hiển thị dưới dạng bảng như ví dụ sau:
Biến (trường; thuộc tính)
Thông tin về đối tượng nghiên cứu được thu thập và lưu trữ theo các đặc điểm của chúng Cácđặc điểm này được gọi là biến (variable), hay trường (field) Biến được xem là các cột của bảng
số liệu ở ví dụ trên có 4 biến, với tên là hhcoed, hedname, hhsize, và incomepc Tên biến dài từ
1 đến 32 ký tự, được bắt đầu chữ hoặc dấu gạch dưới (_) Tên biến chỉ bao gồm chữ, sỗ và dấugạch dưới Các ký tự đặc biệt khác không thể dùng để đặt tên cho biến
Biến xác định (identifying variables)
Thông thường trong các biến sẽ có các biến dùng để nhận dạng quan sát, được gọi là biến xácđịnh Nhờ có các biến xác định này mà các quan sát có thể phân biệt được với nhau Mỗi mộtquan sát có một giá trị của các biến này ở ví dụ trên, biến xác định là hhcode, đối với mỗi mộtquan sát biến hhcode nhận một giá trị
Các đặc điểm của biến
Các biến có thể được gán nhãn (chú thích) Ví dụ biến hhcode có thể được gán nhãn là “Mã hộ”
Trang 2Biến có thể được định dạng (format) là biến số và biến ký tự với các loại lưu trữ khác nhau.Biến số có thể lưu trữ dưới loại byte; int; long; float; double Còn biến ký tự thì có thể lưu trữdưới dạng str1 đến str80 cho các độ dài khác nhau
Kiểu lưu trữ
dạng số
Dung lượng (Byte)
Giá trị nhỏ nhất Giá trị lớn nhất Kiểu
Biến ký tự (string) dùng để lưu trữ các loại ký tự Ví dụ biến headname là biến kiểu ký tự dùng
để lưu trữ tên của chủ hộ
2 Khởi động và thoát khỏi Stata (Open and exit)
Stata được khởi động tương tự như các chương trình tin học ứng dụng khác, bằng cách kích vàobiểu tượng của tệp wstata.exe trong Windows explorer, hoặc chọn bằng cách chọn Start ->Program -> Stata Chương trình được thoát ra bằng lệnh exit từ cửa sổ lệnh Stata Command,hoặc tuỳ chọn exit trong thực đơn (menu) File
3 Giao diện Stata 7 (Stata interface) 1
Sau khi Stata được khởi động, giao diện của Stata sẽ được hiện lên, bao gồm thanh thực đơn(menu bar) ở trên cùng, dưới đó là thanh công cụ (tool bar) và các cửa sổ (windows)
1 Phiên bản Stata 8 có giao diện tương tự như phiên bản Stata 7 Khác biệt lớn nhất là Stata 8 có thêm tuỳ chọn Statistics trong thanh thực đơn Tuỳ chọn này cho phép thực hiện các một số lệnh thống kê bằng cáctuỳ chọn qua giao diện cửa sổ mà không phải gõ các lệnh trong cửa sổ Command
Trang 3Các cửa sổ của Stata
Các cửa sổ của Stata được mở ra bằng việc lựa chọn các tuỳ chọn ở thanh thực đơn Windows(menu bar) Các cửa sổ này bao gồm:
Results Hiển thị các lệnh và kết quả
Viewer Hiển thị cửa sổ trợ giúp (help) và hiển thị nội dung các file văn bản
(text) Command Dùng để gõ các câu lệnh
Review Hiển thị các lệnh đã thực hiện
Variables Hiển thị danh sách các biến của tệp số liệu
Data editor Hiển thị và sửa chữa số liệu dưới 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 thanh thực đơn và các tuỳ chọn trong đó, Stata sẽ thực hiện các lệnh khácnhau Thanh thực đơn bao gồm các nhóm lệnh sau đây:
File
Trang 4View Xem các file của Stata trong cửa sổ Viewer
Save as Lưu file số liệu dưới tên mới
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 quả
Edit
Copy text Sao chép văn bản (text)
Copy tables Sao chép bảng biểu
Table copy options Lựa chọn sao chép bảng số liệu
Graph copy options Lựa chọn sao chép đồ thị (không có trong Stata 7)
Prefs Các tuỳ chọn về màu sắc, phông chữ, và kích cỡ
Windows
Viewer Mở cửa sổ trợ giúp (help) và xem nội dung file
Review Mở cửa sổ các lệnh đã thực hiện
Variables Mở cửa sổ danh sách các biến của 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ưới 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 trên thanh công cụ được thiết kế để thực hiện các lệnh thông dụng của Stata Nếuchúng ta di chuyển con trỏ đến các nút này thì sẽ hiện lên các câu huớng dẫn, bao gồm:
Trang 5Print results In nội dung của cửa sổ kết quả
Begin log Mở, đóng và xem nội dung của file log
Bring Dialog Window to font Đưa cửa sổ hộp thoại ra phía trước
Bring Result Window to font Đưa cửa sổ kết quả ra phía trước
Bring Graph Window to font Đưa cửa sổ vẽ đồ thị ra phía trước
Do-file editor Mở cửa sổ soạn thảo chương trình
Clear –more- condition Tắt lệnh more
4 Biên bản làm việc (log file)
Thông thường khi làm việc với Stata, người sử dụng muốn ghi lại biên bản làm việc bao gồmcác lệnh, các thông báo và các kết quả phân tích thu được Stata cho phép ghi lại các biên bảnlàm việc bằng 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 bản làm việc tiếp vào 1 file đã có sẵn
replace Ghi lại biên bản làm việc đè lên 1 file đã có sẵn
text Tạo biên bản làm việc dưới dạng văn bản (text) (phần mở rộng là
log)smcl Tạo biên bản làm việc dưới dạng smcl (phần mở rộng là smcl), đây
cũng là tuỳ chọn ngầm định
Ví dụ:
log using baitap1 Tạo tệp baitap1 ghi lại biên bản làm việc tại thư mục
hiện thời, phần mở rộng mặc định là 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 tại ổ đĩa D, dưới dạng văn bản (text)
(phần mở rộng là log)
Trang 6log using “d:\baitap2”, append Ghi tiếp tục biên bản làm việc ở tệp baitap2 tại ổ đĩa D
Các tệp với phần mở rộng smcl có thể chuyển thành các tệp text bằng lệnh translate
cmdlog using (đường dẫn\tên tệp) [, append replace]
cmdlog {off | on | close}
- Để xem các file log/smcl vào thanh thực đơn: file/log/view (hoặc ở cửa sổ lệnhcommand gõ: view (tên tệp)); hoặc có thể mở bằng các chương trình soạn thao văn bảnkhác như MS-Word; Notepad
5 Nhập và lưu dữ liệu (Use, input and and save)
Mở tệp số liệu đang có:
Cú pháp:
use (đường dẫn\tên tệp)
Lệnh này mở tệp Stata, với phần rộng là dta, được chỉ ra ở tên tệp
Ví dụ:
use "D:\VHLSS 2004\ho1.dta", clear mở tệp ho1.ta ở thư mục VHLSS 2004 trên ổ D
Tệp số liệu Stata có thể được mở bằng lựa chọn Open trên thực đơn File; hoặc nút Open (use)trên thanh công cụ tool bar
Nếu file số liệu có dung lượng lớn thì chúng ta phải thiết lập bộ nhớ cần dùng cho Stata bằnglệnh:
Trang 7- 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 trong cửa sổ này
- Sử dụng lệnh: input [danh sách biến + định dạng nếu cần]
Sau đó sử dụng bàn phím để nhập số liệu lần lượt cho các biến của từng quan sát Giátrị được nhập cách nhau 1 ký tự trống Kết thúc nhập số liệu bằng lệnh end
Ví dụ:
input hhcode str15 name income
hhcode name income
1 101 "Nguyen Van A" 1200
Cú pháp:
insheet [danh sách biến] using (tên tệp text) [, [no]names comma tab clear]
Lệnh này sẽ đọc vào bộ nhớ của Stata các quan sát của tệp text, và chỉ ra tên các biến sẽ đượctạo ra
Các tuỳ chọn:
[no]names Cho phép nhập tên biến được chỉ ra ở dòng thứ nhất của file text
comma Thông báo là các giá trị của file text được phân cách bằng dấu phẩytab Thông báo là các giá trị của file text được phân cách bằng dấu tabclear Số liệu được đọc vào sẽ thay thế số liệu đang được thường trú trong bộ
nhớ của Stata
Ví dụ:
insheet using c:\income.txt
(3 vars, 4 obs)
insheet maho hoten thunhap using c:\income.txt
(note: variable names in file ignored)
(3 vars, 4 obs)
Lưu trữ số liệu
Cú pháp:
save (đường dẫn\tên tệp) [,replace]
Lệnh này lưu trữ số liệu đang ở trong bộ nhớ của Stata thành tệp chỉ định dưới tên tệp Nếu tuỳchọn replace được chỉ ra thì tệp số liệu này sẽ ghi đè lên tệp hiện thời (tất nhiên tên tệp số liệu làgiống nhau)
Trang 8Việc lưu trữ số liệu có thể thực hiện bằng các tùy chọn Save và Save as ở trong thanh thực đơn(menu bar); hoặc nút Save trên thanh công cụ (tool bar).
Chú ý: Xem thêm lệnh infile và outfile
Chương II: Khai thác dữ liệu
1 Cấu trúc lệnh trong Stata (Stata command syntax)
Cấu trúc cơ bản của một lệnh trong Stata như 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) của Stata, cú pháp lệnh trình bày bằng tiếng Anh nhưsau:
[by varlist:] command [varlist] [=exp] [if exp] [in range] [weight] [, options]
Trong đó dấu ngoặc vuông ký hiệu các tuỳ chọn
Chú ý:
- Các câu lệnh Stata được viết bằng 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ụ, trong cùngmột tệp số liệu, biến “Ho_ten” và biến “ho_ten” là 2 biến khác nhau
- Các tuỳ chọn được ký hiệu trong dấu ngoặc vuông [ ] Các tuỳ chọn này có thể có hoặckhông trong câu lệnh Các tham số bắt buộc (tên biến) được đặt trong dấu ngoặc < >.Các câu lệnh sẽ không thực hiện được nếu các tham số bắt buộc này không được khaibáo
Trang 9- Một số lệnh Stata cho phép viết tắt Ví dụ lệnh summarize có thể viết tắt là sum Trongcuốn tài liệu này phần gạch chân dưới cú pháp của câu lệnh là cú pháp “viết tắt” của câulệnh đó.
- Các ví dụ trong cuốn tài liệu này sử dụng số liệu Điều tra Mức sống dân cư năm 1998
do Tổng cục Thống kê tiến hành Trong đó Tệp chi tiêu tổng hợp Hhexp98n.dta thườngxuyên được sử dụng
by danh sách biến (by varlist): Stata sẽ thực hiện câu lệnh với theo từng giá trị được chỉ ra bởi
danh sách biến Biến được chỉ ra bởi danh sách biến được yêu cầu sẵp xếp trước khi thực hiệnlệnh
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
Trang 10rlpcex1 | 699 5329.628 3962.946 1057.797 30624.77
Danh sách biến (varlist)
Chỉ ra danh sách các biến chịu tác động của câu lệnh Nếu như không có biến nào được chỉ rathì lệnh Stata sẽ có tác dụng lên tất cả các biến (all variables)
Ví dụ:
sum hhsize sex reg7
Variable | Obs Mean Std Dev Min Max
Lệnh sum này hiển thị thống kê cơ bản của tất cả các biến trong tệp số liệu.
Điều kiện (if exp)
Stata chỉ thực hiện câu lệnh đối với các quan sát mà giá trị của nó cho kết quả của biểu thức làđúng
Ví dụ:
sum poor if reg7==1
Variable | Obs Mean Std Dev Min Max
sum poor in 10 Tính giá trị trung bình của biến poor cho quan sát 10 (chính bằng giá
trị của biến poor tại quan sát thứ 10)
Trang 11sum poor in 10/100 Tính giá trị trung bình của biến poor cho quan sát từ 10 đến 100
sum poor in f/100 Tính giá trị trung bình của biến poor cho quan sát từ đầu tiên đến 100sum poor in 100/l Tính giá trị trung bình của biến poor cho quan sát từ thứ 100 đến quan
sum rlpcex1, detail
comp.M&Reg price adj.pc tot exp
như lệnh use có nghĩa là có thể được viết tắt bởi u.
- Cú pháp của các câu lệnh trong tài liệu này được viết bằng tiếng Anh, cho phép ngườiđọc có thể đối chiếu với phần hướng dẫn sử dụng trong Stata
2.Toán tử và hàm số (Operators and functions)
Trang 12Trong biểu thức dấu == được dùng cho việc kiểm định biểu thức, ví dụ như được dùng sau lệnh
if Còn dấu = được dùng cho lệnh tạo biến.
Hàm ngày thángHàm chuỗi thời gianHàm ma trận
Ví dụ:
gen absx=abs(x)
gen log_exp=log(rlpcex1)
Các ký hiệu cụ thể về các hàm số này có thể xem ở mục help functions
3 Mô tả dữ liệu (Data reporting)
3.1 Xoá bộ nhớ của Stata
Cú pháp:
clear
Trang 13Lệnh này xoá các dữ liệu trong bộ nhớ của Stata, bắt đầu cho một file làm việc mới.
3.2 Hướng dẫn sử dụng lệnh Stata
Cú pháp:
help <Câu lệnh Stata>
Lệnh này hiển thị hướng dẫn sử dụng các lệnh Stata, lệnh Stata cần phải được gõ đầy đủ vàchính xác
Ví dụ:
help sum
help for sum not found
try help contents or search sum
Chúng ta có thể tìm hướng dẫn sử dụng theo từ khoá bằng lệnh search Lệnh search có thể được
thực hiện bằng tuỳ chọn Search ở thực đơn help.
3.3 Mô tả dữ liệu
Cú pháp:
describe [danh sách biến]
Lệnh này hiển thị thông tin chung như tên biến, định dạng, nhãn biến của các biến được liệt kêbởi danh sách biến của file số liệu đang mở Nếu như không có biến nào được chỉ ra thì lệnhdescribe sẽ hiện thị thông tin của tất cả các biến
Ví dụ:
des househol year month vlssmphs
storage display value
variable name type format label variable label
-
-househol long %12.0g -household code
year float %9.0g Year of interview
month float %9.0g Month of interview
vlssmphs byte %8.0g 1 if vlss, 2 if mphssource
3.4 Hiển thị giá trị của các biến
Trang 14Cú pháp:
list [danh sách biến] [điều kiện] [phạm vi] [, nolabel]
Lệnh này hiển thị giá trị của các biến được chỉ ra bởi danh sách biến Tuỳ chọn nolable cho
phép hiển thị giá trị số chứ không phải là giá trị gán nhãn
Ví dụ:
list househol farm in 1/5
househol farm
1 36307 farm
2 28002 farm
3 36017 farm
4 32418 non farm
5 15215 non farm
list househol farm in 1/5, nolabel
househol farm
1 36307 1
2 28002 1
3 36017 1
4 32418 0
5 15215 0
3.5 Hiển thị dẫy ký tự và biểu thức
Cú pháp:
display ["Dẫy (chuỗi) ký tự"] [biểu thức]
Lệnh này hiển thị dẫy ký tự hoặc giá trị của biểu thức
Ví dụ:
dis "So lieu VLSS 1998"
So lieu VLSS 1998
dis 120*100/30
400
3.6 Sửa chữa, xem số liệu
Cú pháp:
edit [danh sách biến] [điều kiện] [phạm vi] [, nolabel]
browse [danh sách biến] [điều kiện] [phạm vi] [, nolabel]
Lệnh edit này mở cửa sổ Data editor để người sử dụng sửa chữa, nhập số liệu Tuỳ chọn
nolable cho phép hiển thị giá trị số chứ không phải là giá trị gán nhãn Lệnh này có thể được
chọn từ tuỳ chọn Data editor trong thanh thực đơn Windows
Lệnh browse giống lệnh edit nhưng không cho phép sửa chữa số liệu.
3.7 Đếm quan sát
Trang 15Cú pháp:
count [điều kiện] [phạm vi]
Lệnh này đếm số quan sát được chỉ ra bởi điều kiện (exp) và phạm vi (range) Nếu điều kiện(exp) và phạm vi (range) không được chỉ ra thì sẽ hiện thị số quan sát của tệp số liệu
summarize [danh sách biến] [quyền số] [điều kiện] [phạm vi] [, detail]
Lệnh này tính toán và hiển thị những thống kê cơ bản của các biến được chỉ ra bởi danh sách
biến Tuỳ chọn detail cho phép hiển thị thêm một số thống kê như độ nhọn, độ lệnh và các giá
comp.M&Reg price adj.pc tot exp
Trang 163.9 Hiển thị thông tin chung về biến
Cú pháp:
inspect [danh sách biến] [điều kiện] [phạm vi]
Lệnh này mô tả về số liệu của các biến kiểu số Nó đưa ra thông tin về số âm, dương, sốnguyên, giá trị thiếu (missing) của giá trị của biến
(More than 99 unique values)
Chú ý: có thể xem thêm lệnh codebook
3.10 Tạo bảng tần suất
Tạo bảng tần suất 1 chiều
Cú pháp:
tabulate <tên biến> [quyền số] [điều kiện] [phạm vi] [, missing nolabel]
tab1 <danh sách biến> [quyền số] [điều kiện] [phạm vi] [, missing nolabel]
Lệnh này tạo bảng tần suất 1 chiều của biến được chỉ ra Lệnh tabulate chỉ cho phép có 1 biếnđược chỉ ra, nếu có hơn 1 biến được chỉ ra thì Stata sẽ hiểu là tạo bảng tần suất 2 chiều
Các tuỳ chọn:
missing Cho phép các quan sát không có giá trị (missing) được xếp vào 1 loại
nolabel Cho phép hiển thị giá trị số của biến, chứ không phải nhãn biến
Trang 17Lệnh tablulate này tính và hiển thị bảng tần suất 2 chiều của 2 biến được chỉ ra Lệnh tab2 tạo
bảng tần suất 2 chiều của từng cặp biến được chỉ ra trong danh sách biến
Ví dụ:
tab urban98 farm
1:urban | Type of HH (1:farm;
Trang 18Các tuỳ chọn:
chi2 Thực hiện kiểm định giả thiết là hai biến độc lập
missing Cho phép các quan sát không có giá trị được xếp vào 1 loại
nofreq Không hiển thị tần suất
cell Hiển thị tần suất tương đối (tỷ lệ %) của các ô
column Hiển thị tần suất tương đối (tỷ lệ %) của các ô theo cột
row Hiển thị tần suất tương đối (tỷ lệ %) của các ô theo hàng
tab farm urban98, column row
Type of HH | 1:urban 98; 0:rural
Trang 19tab farm urban98, sum(poor)
Means, Standard Deviations and Frequencies of poor
Type of HH | 1:urban 98; 0:rural
means Hiển thị mỗi giá trị trung bình
standard Hiển thị mỗi giá trị độ lệch chuẩn
freq Hiển thị mỗi giá trị tần suất
missing Cho phép các quan sát không có giá trị được xếp vào 1 loại
Trang 20tabstat <danh sách biến> [quyền số] [điều kiện] [phạm vi] [, statistics(cú pháp tkê [ ]) by(tên biến) missing format[(%fmt)]]
Lệnh này tính toán các thống kê của các biến được chỉ ra bởi danh sách biến cho từng giá trị của biến phân loại (categorical) được chỉ ra bởi by(tên biến)
Ví dụ:
tabstat rlfood rlhhex1, stats(mean median) by(reg7)
Summary statistics: mean, p50
by categories of: reg7 (Code by 7 regions)
reg7 | rlfood rlhhex1
statistics(statname [ ]) Chỉ ra thống kê cần tính cho danh sách biến
by(tên biến) Chỉ ra biến phân loại (categorical)
Missing Giá trị thiếu (mising) của biến loại được xem như 1 loại
format[(%fmt)] Chỉ ra định dạng của số liệu hiển thị
Stata cho phép các loại thống kê được chỉ ra bởi statistics(cú pháp thống kê [ ]) như sau:
Trang 21tabstat rlpcex1, stats(mean sd q) by(reg7) format(%5.1f)
Summary for variables: rlpcex1
by categories of: reg7 (Code by 7 regions)
Trang 22table <biến dòng> [biến cột [biến cột trên cùng]] [điều kiện] [phạm vi] [quyền số] [, contents(nội dung) row col format(%fmt) missing]
Lệnh này cho phép tính các thống kê của các biến được chỉ ra trong contents theo dạng bảng, trong đó các hàng được định nghĩa bởi biến dòng, còn các cột được định nghĩa bởi biến cột (và biến cột trên cùng) Các biến hàng và cột này là các biến phân loại (categorical)
Code by 7 | non farm farm
-regions | Rural Urban Rural Urban
col Hiển thị thống kê tổng của các cột
format(%fmt) Chỉ ra định dạng của số liệu hiển thị
missing Giá trị thiếu (mising) của biến loại được xem như 1 loại
Code by 7 | - non farm - farm
-regions | Rural Urban Total Rural Urban Total
Trang 23-4 Biên tập và sửa chữa dữ liệu (Data manipulation)
4.1 Tạo biến mới
Tạo biến bằng lệnh generate
Cú pháp:
generate <biến mới> = biểu thức [điều kiện] [phạm vi]
Lệnh này cho phép tạo biến mới có giá trị bằng giá trị của biểu thức được chỉ ra.
Ví dụ:
gen poor = 1 if rlpcex1 < 1790
(4222 missing values generated)
gen nonpoor=1 if rlpcex1 >= 1790
(1777 missing values generated)
Trang 24Lệnh tạo biến giả tabulate…generate
Cú pháp:
tabulate <biến phân loại>, generate(biến mới)
Lệnh generate có thể kết hợp với tab để tạo các biến giả Biến mới tạo ra sẽ có dạng là “biến
mới 1”, “biến mới 2”, “biến mới 3”, v v Biến này chính là các biến giả được tạo ra trên cơ sởcủa biến phân loại
ở ví dụ trên lệnh tabulate…generate tương đương với 7 lệnh sau:
gen region1=(reg7==1)
gen region2=(reg7==2)
Trang 25gen region7=(reg7==7)
Tạo biến bằng lệnh egen
Cú pháp:
egen <biến mới> = fcn(tham số) [điều kiện] [phạm vi] [, by(biến)]
Lệnh này cho phép tạo biến mới theo giá trị của hàm số được chỉ ra bởi fcn Biến mới này sẽ
nhận giá trị cố định cho mọi quan sát Hàm số ở đây có thể là:
count(exp) Đếm số quan sát của biểu thức
mean(exp) Cho giá trị trung bình của biểu thức
median(exp) Cho giá trị trung vị của biểu thức
sd(exp) Cho giá trị độ lệch chuẩn của biểu thức
Các hàm số khác có thể xem ở phần help egen.
sumexp | 5999 1.91e+07 0 1.91e+07 1.91e+07
egen g=median( food+ nonfood1)
replace <biến> = biểu thức [điều kiện] [phạm vi]
Lệnh này thay thế giá trị của biến hiện có bằng giá trị mới xác định bởi biểu thức exp.
Ví dụ:
replace poor=poor*100
replace pcexp = hhexp/hhsize
Tạo biến phân loại bằng lệnh encode
Cú pháp:
encode <biến> [điều kiện] [phạm vi], generate(biến mới)
Lệnh này cho phép tạo biến phân loại mới (categorical) kiểu số tương ứng với các giá trị củabiến kiểu chữ chỉ ra bởi tên biến (được xếp theo vần chữ cái)
Ví dụ:
Trang 26gen str15(mucsong) = "Kha"
drop mucsong
gen mucsong="Rat ngheo"
type mismatch
r(109);
gen str15(mucsong)="Rat ngheo"
replace mucsong="Ngheo" if rlpcex1<1790 & rlpcex1>1290
(1087 real changes made)
replace mucsong="Khong ngheo" if rlpcex1>=1790
(4222 real changes made)
Trang 27Lệnh này tạo biến phân nhóm cho biểu thức theo phân vị Trong đó nquantiles(#) chỉ ra số
lượng phân vị
Ví dụ: Tạo biến ngũ vị phân theo chi tiêu
xtile quinexp= rlpcex1, nq(5)
tab quinexp, sum( rlpcex1)
| Summary of comp.M&Reg price adj.pc
5 quantiles | tot exp
of rlpcex1 | Mean Std Dev Freq.
rename <tên biến cú> <tên biến mới>
Lệnh này thực hiện việc đổi tên cũ của một biến sang tên mới.
Ví dụ:
rename poor nguoingheo
rename rpcexp1 chitieu
4.3 Lệnh xoá biến, xoá quan sát
Cú pháp:
drop <danh sách biến> Lệnh này xoá biến được chỉ ra bởi danh sách biến
drop <điều kiện> Lệnh này xoá quan sát thoả mãn điều kiện biểu thức
drop <phạm vi> [điều kiện] Lệnh này xoá quan sát được chỉ ra bởi phạm vi (và có thể phải
thoả mãn điều kiện biểu thức)
keep <danh sách biến> Lệnh này giữ lại các biến được chỉ ra bởi danh sách biến, các
biến không được chỉ ra sẽ bị xoá đi
Trang 28keep <điều kiện> Lệnh này giữ lại các quan sát thoả mãn điều kiện biểu thức, các
quan sát khác sẽ bị xoá đi
keep <phạm vi> [điều kiện] Lệnh này giữ lại các quan sát được chỉ ra bởi phạm vi (và có
thể thoả mãn điều kiện biểu thức), các quan sát khác sẽ bị xoáđi
Ví dụ:
drop poor urban98 Xoá 2 biến poor và urban98
drop if sex==1 Xoá các quan sát có biến sex nhận giá trị bằng 1
drop in 1/20 Xoá quan sát từ 1 đến 20
keep househol Chỉ giữ lại biến househol, các biến khác bị xoá đi
keep in f/50 Giữ lại quan sát từ đầu tiên đến 50, các quan sát khác bị xoá đi
4.4 Lệnh đổi giá trị của biến phân loại
Cú pháp:
recode <tên biến> giá trị cũ = giá trị mới [điều kiện] [phạm vi]
Lệnh này đổi giá trị của biến phân loại theo các quy tắc được chỉ ra ở sau đó
Trang 29label variable <tên biến> “Nhãn của biến”
Lệnh này gán nhãn là một dẫy ký tự cho biến.
Ví dụ:
gen ngheo=poor
des ngheo
storage display value
variable name type format label variable label
ngheo float %9.0g
storage display value
variable name type format label variable label
ngheo float %9.0g Nguoi co thu nhap duoi chuan ngheo
Trang 30-Gán giá trị cho biến phân loại
label define <tên bộ nhãn> # "nhãn" [# "nhãn" ] [, add modify]
label dir
label list <tên bộ nhãn>
label drop {tên bộ nhãn [tên bộ nhãn ] | _all}
label values <tên biến> [tên bộ nhãn]
Lệnh label define gán nhãn cho một bộ giá trị số Tên của bộ nhãn được chỉ ra sau từ khoá define, # là giá trị số, “nhãn” là chuỗi ký tự tương ứng với giá trị số đấy Có hai tuỳ chọn ở đây: tuỳ chọn add thêm giá trị và nhãn tương ứng vào 1 bộ nhãn đã có sẵn Tuỳ chọn modify cho
phép sửa chữa giá trị và nhãn của 1 bộ nhãn đã có sẵn
Lệnh label dir hiển thị những bộ nhãn có sẵn, còn lệnh label list hiển thị giá trị của bộ nhãn được chỉ ra Lệnh label drop xoá các bộ nhãn có sẵn.
Trang 31sort <danh sách biến> [phạm vi]
gsort [+|-]tên biến [[+|-]tên biến [ ]]
Lệnh sort sẵp xếp quan sát theo thứ tự tăng dần của giá trị của các biến được chỉ ra trong danh
sách biến
Lệnh gsort cho phép sẵp xếp các quan sát theo thứ tự tăng dần của của các biến (danh sách
biến), nếu dấu + được chỉ ra (đây cũng là giá trị ngầm định), hoặc theo thứ tự giảm dần, nếudấu - được chỉ ra
Ví dụ:
sort reg7 hhsize Lệnh này sẵp xếp các quan sát theo thứ tự tăng dần của biến vùng reg7,
trong mỗi vùng các quan sát lại được sẵp xếp theo thứ tự tăng dần củabiến quy mô hộ hhsize
gsort reg7 –hhsize Lệnh này sẵp xếp các quan sát theo thứ tự tăng dần của biến vùng reg7,
nhưng trong mỗi vùng các quan sát lại được sẵp xếp theo thứ tự giảmdần của biến quy mô hộ hhsize
4.7 Trộn số liệu
Lệnh thu gọn số liệu - collapse
Cú pháp:
Trang 32collapse <biểu thức thống kê> [quyền số] [điều kiện] [phạm vi] [, by(danh sách biến)]
trong đó:
Biểu thức thống kê là danh sách các thống kê và các biến tương ứng Các thống kê được ký
hiệu như mục 3.12 của chương này
Lệnh collapse sẽ tạo ra một tệp số liệu mới bao gồm các biến được chỉ ra bởi danh sách biến,
với các giá trị được tính theo thống kê tương ứng Các quan sát của tệp số liệu cũ sẽ được nhómlại theo các giá trị cùng loại của biến được chỉ ra bởi by(danh sách biến)
Ví dụ:
Chúng ta có file số liệu về thu nhập và chi tiêu của các hộ thành viên trong gia đình:
ma_tv ma_ho thunhap Chitieu
merge [danh sách biến] using <tên tệp sử dụng> [, update replace]
Lệnh merge sẽ nối các quan sát của tệp số liệu đang mở trong Stata (gọi là tệp chủ (master
dataset)) với các quan sát tương ứng của tệp số liệu khác được chỉ ra sau từ khoá using (gọi làtệp sử dụng (using dataset)) thành 1 tệp mới Các biến chỉ ra trong danh sách biến được gọi là
Trang 33biến xác định (identifying variables), và phải được sẵp xết bằng lệnh sort (hoặc gsort) trước khithực hiện lệnh merge
Lệnh merge sẽ được thực hiện như sau:
use "C:\dialy.dta", clear
sort ma_ho
save "C:\dialy.dta"
file C:\dialy.dta saved
use "C:\thunhap.dta", clear
sort ma_ho
merge ma_ho using "C:\dialy.dta"
ma_ho was byte now int
edit
Tệp kết quả có dạng như sau:
ma_ho thunhap chitieu quimo thanhthi vung _merge
Trong tệp kết quả có thêm 1 biến tên là _merge, biến này nhận các giá trị như sau:
_merge==1 Nếu như quan sát chỉ được tạo từ tệp chủ
_merge==2 Nếu như quan sát chỉ được tạo từ sử dụng
_merge==3 Nếu như quan sát được tạo từ cả tệp chủ và tệp sử dụng
Các tuỳ chọn:
Trong trường hợp hai tệp số liệu có các biến trùng nhau, các tuỳ chọn sau đây cho phép xử lý sốliệu theo các cách khác nhau:
Trang 34update Nếu số liệu của biến trùng nhau của tệp chủ có giá trị thiếu thì giá trị thiếu này
nhận giá trị của biến trùng nhau của tệp sử dụng
replace Giá trị của biến trùng nhau của tệp chủ sẽ nhận giá trị của biến trùng nhau của
append using <tên tệp>
Lệnh này cho phép nối tệp được chỉ ra bởi using vào với tệp đang được mở theo các biến có
cùng tên và định dạng Số quan sát của tệp mới bằng tổng số số quan sát của 2 tệp
Ví dụ: có tệp thunhap2.dta như sau
ma_ho thunhap chitieu gioitinh
Hai tệp này sẽ được nối với nhau bằng lệnh append như sau:
use "C:\thunhap.dta", clear
append using "C:\thunhap2.dta"
reshape wide <tên biến>, i(danh sách biến) [ j(tên biến [values]) ]
reshape long <tên biến>, i(danh sách biến) [ j(tên biến [values]) ]
reshape wide
reshape long
Lệnh này cho phép chuyển số liệu từ dạng ngang sang số liệu dạng dọc (tuỳ chọn long), và từ dạng dọc sang dạng ngang (tuỳ chọn wide) i(danh sách biến) chỉ ra biến xác định (indentifying
Trang 35variables) dùng để phân biệt các quan sát với nhau trong số liệu dạng ngang (gọi là quan sát cấp1) j(tên biến) chỉ ra biến dùng để phân biệt giữa các quan sát cấp 2 ở số liệu dạng dọc.
Và lệnh reshape sẽ được viết như sau:
reshape long thunhap, i(maho) j(nam)
-* Va chuyen nguoc lai tu dang doc sang dang ngang nhu sau
reshape wide thunhap, i(maho) j(nam)
Trang 36Chúng ta có số liệu dạng bảng sau đây:
Bảng này được chuyển sang bảng dạng dọc như sau:
reshape long sotien nguon, i(maho) j(lanvay)
sotien1 sotien2 -> sotien
nguon1 nguon2 -> nguon
5 Quyền số trong VHLSS (Weight)
5.1 Quyền số trong điều tra chọn mẫu
Trong điều tra chọn mẫu, các quan sát được lựa chọn một cách ngẫu nhiên nhưng thông thườngcác quan sát thường có xác suất lựa chọn khác nhau Quyền số bằng giá trị nghịch đảo của xácsuất được chọn vào mẫu Nếu như quan sát i có quyền số là wi thì có thể nói quan sát i trongmẫu đại diện cho wi phần tử trong tổng thể Các ước lượng suy diễn về tổng thể cần phải tínhđến quyền số chọn mẫu, nếu không thì kết quả sẽ bị sai lệch
Ví dụ:
Giả sử miền Đồng bằng Sông Hồng gồm 2 tỉnh là Hà Nội và Bắc Ninh với dân số tương ứng là4.5 triệu và 500 nghìn người Chúng ta muốn chọn một mẫu ngẫu nhiên với cỡ mẫu là 500 quansát để nghiên cứu về thu nhập của Đồng bằng Sông Hồng cũng như 2 tỉnh này Nếu như theo tỷ
lệ về dân số giữa 2 tỉnh thì chúng ta sẽ thu được mẫu gồm 450 hộ tại Hà Nội và 50 hộ tại NamĐịnh Tuy nhiên mẫu được chọn một cách ngẫu nhiên trên cả vùng nên sẽ có khả năng là chúng
ta thu được một mẫu mà không có quan sát nào của tỉnh Nam Định, hoặc có với số lượng rất
Trang 37nhỏ Để cho mẫu mang tính đại diện cho các tỉnh thì nên chọn 400 quan sát tại Hà Nội và 100quan sát tại Nam Định
Nếu thu nhập bình quân của Hà Nội là 900 nghìn/ tháng, và của Nam Định là 300 nghìn/thángthì thu nhập bình quân của cả vùng Đồng bằng Sông Hồng không thể tính là (900 + 300)/2, vìcác quan sát trong mẫu không được chọn tỷ lệ với các tỉnh Mỗi quan sát tại Hà nội đại diện cho
11250 hộ trong vùng (4500000/400) Đây chính là quyền số của quan sát, bằng giá trị nghịchđảo của xác suất được chọn vào mẫu Còn mỗi quan sát tại Nam Định đại diện cho 50000 quansát của vùng (500000/100) Thu nhập của vùng Đồng bằng Sông Hồng sẽ được tính như sau:
84050000
10011250400
50000100
30011250400
900
nhap
×+
×
×
×+
Ví dụ: Quyền số trong VLSS 1998
tab reg7, sum(wt)
Code by 7 | Summary of sample quyền số
regions | Mean Std Dev Freq.
tab reg7, sum(hhsizewt)
Code by 7 | Summary of =hhsize*wt
regions | Mean Std Dev Freq.
Trang 385.2 Các lựa chọn về quyền số
Stata cho phép sử dụng 4 loại loại quyền số sau đây:
fweights: quyền số tần suất (frequency weights), Stata sẽ hiểu quyền số ở đây có nghĩa là
số lần mà mỗi quan sát mỗi quan sát được lặp lại trong tính toán
pweights: quyền số chọn mẫu (sampling weights), Stata sẽ hiểu quyền số là giá trị nghịch
đảo của xác suất được chọn vào mẫu, hay số phần tử trong tông thể mà mỗiquan sát trong mẫu đại diện
aweights quyền số phân tích (analytical weights), Stata sẽ hiểu quyền số tỷ lệ nghịch với
phương sai của quan sát
iweights quyền số quan trọng (importance weights), đây là quyền số chỉ mức độ quan
sum poor [fw=hhsize]
Variable | Obs Mean Std Dev Min Max
Trang 39regions | Rural Urban | Total
tab reg7 urban98 , sum(hhsize) means
Means of Household size
tab reg7 urban98 [fw=wt], sum(hhsize) means
Means and Number of Observations of Household size
Trang 40-Chương III: Kiểm định giả thiết và phân tích hồi quy
1 Ước lượng và kiểm định giả thiết (Estimation and hypothesis testing)
1.1 Ước lượng giá trị trung bình bằng khoảng tin cậy
Cú pháp:
ci [danh sách biến] [quyền số] [điều kiện] [phạm vi] [, level(#) binomial poisson exposure(tên biến) total]