Tải bản đầy đủ (.doc) (82 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (20.63 MB, 82 trang )

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 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ép
lư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:
hhcode
headname
101
Nguyen Van A
102
Le Thi B
103
Tran Van C
Quan sát (bản ghi)

hhsize
6
5
10

incomepc
2100
3210
1200

Mỗi một hàng ngang của bảng số liệu được gọi là một quan sát (observation), hay một bản ghi


(record) lưu trữ số liệu về một đối tượng nghiên cứu. ở ví dụ trên có 3 quan sát lưu trữ số liệu về
Mã hộ (hhcode); Tên chủ hộ (headname); Quy mô hộ (hhsize); Thu nhập bình quân (incomepc)
của 3 hộ gia đình.
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ấu
gạ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ột
quan 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ột
quan 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ộ”.

1


Biế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ữ Dung lượng Giá trị nhỏ nhất
Giá trị lớn nhất
Kiểu
dạng số
(Byte)
byte
1

-127
126
Số nguyên
int
2
-32,767
32,766
Số nguyên
long
4
-2,147,483,647
2,147,483,646
Số nguyên
float
4
-10^36
10^36
Số thực
double
8
-10^308
10^308
Số thực
Các biến số có thể bao gồm các biến rời rạc và liên tục. Các biến như là quy mô hộ gia đình,
giới tính chủ hộ, vùng địa lý, trình độ giáo dục là các biến rời rạc (discrete) (hay còn gọi là biến
phân loại (categorical)). Các biến này có thể được lưu trữ dưới dạng byte, int, và long. Các biến
liên tục (continuous) như thu nhập, chi tiêu của hộ thì lưu trữ dưới dạng float hoặc double.
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ộ.
Kiểu lưu trữ

dạng chữ
str1
str2
...
str80

Byte

Độ dài lớn nhất

1
2

1
2

80

80

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ào
biể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ác
tuỳ chọn qua giao diện cửa sổ mà không phải gõ các lệnh trong cửa sổ Command.
2


Cá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ả

Graph

Hiển thị đồ thị

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ác
nhau. Thanh thực đơn bao gồm các nhóm lệnh sau đây:
File
Open

Mở file số liệu
3


View

Xem các file của Stata trong cửa sổ Viewer

Save

Lưu file số liệu


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ả

Exit

Thoát khỏi Stata

Edit

Copy text

Sao chép văn bản (text)

Copy tables

Sao chép bảng biểu

Paste

Dán

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
Results

Mở cửa sổ kết quả

Graph


Mở cửa sổ đồ thị

Log

Mở cửa sổ log file

Viewer

Mở cửa sổ trợ giúp (help) và xem nội dung file

Command

Mở cửa sổ câu lệnh

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ếu
chú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:
Open (use)

Mở file số liệu Stata

Save

Lưu trữ file số liệu ra đĩa
4


Print 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


Start viewer

Mở cửa sổ trợ trợ (help)

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

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 hiện lệnh hoặc chương trình

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ồm
cá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ản
là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)
5


log 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.
Ví dụ:
translate baitap1.smcl exercise1.log
log off

Lệnh này tạm thời dừng việc ghi lại biên bản làm việc vào tệp log/smcl đang mở
log on
Lệnh này tiếp tục ghi biên bản làm việc vào tệp log đang mở. Lênh này được dùng sau lện log
using hoặc log off.
log close
Lệnh này đóng và lưu trữ tệp log đang mở.
Chú ý:
-

Stata cho phép chỉ ghi lại những gì mà người sử dụng đã gõ trong cửa sổ command,
việc này giúp cho việc sau này viết các chương trình dựa trên những biên bản đã làm
việc. Cú pháp:
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ệnh
command 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ản
khá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 ho1.dta

mở tệp ho1.dta ở thư mục hiện thời


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ằng
lệnh:
set memory #[k|m]
Ví dụ:
set mem 32m
set mem 32000k
Nhập số liệu
Có một số cách để nhập số liệu từ bàn phím vào bộ nhớ của Stata.
6


-

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
2. 102 "Nguyen Van B" 1350
3. 103 "Tran Thi C" 2310
4. end
Stata cho phép nhập số liệu từ các file cơ sở dữ liệu khác. Trước hết các file số liệu này cần
được lưu trữ dưới dạng text (có thể bằng chương trình Excel), các quan sát được các nhau 1
dòng và các giá trị cách nhau 1 dẫu phẩy (commas) hoặc dấu cách (tab). Sau đó dùng lệnh
insheet để nhập số liệu này 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 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ẽ được
tạ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ẩy

tab

Thông báo là các giá trị của file text được phân cách bằng dấu tab


clear

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).
7


Việ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ùng
mộ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ặc
khô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 khai
báo.

8


-

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. Trong
cuố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âu
lệ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ường
xuyê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ện
lệnh.
Ví dụ:
. sort sex
. by sex: sum

rlpcex1

-> sex = 1
Variable |
Obs
Mean
Std. Dev.
Min
Max
-------------+----------------------------------------------------rlpcex1 |
4375
2980.906
2430.648
357.318
45801.71
-> sex = 2
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

9


-------------+----------------------------------------------------rlpcex1 |
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ỉ ra
thì 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

-------------+----------------------------------------------------hhsize |
5999
4.752292
1.954292
1
19
sex |
5999
1.270712
.4443645
1
2
reg7 |
5999
4.01917
2.145305
1
7
. 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
1
12
--Break-r(1);

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

-------------+----------------------------------------------------poor |
859
.4982538
.5002882
0
1

Lệnh này chỉ có tác dụng đối với các quan sát mà biến reg7 có giá trị bằng 1.
Phạm vi (in range)
Chỉ ra phạm vi các quan sát chịu tác động của câu lệnh. Range (phạm vi) có thể có các dạng
sau:
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)
10


sum 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 100

sum 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
sát cuối cùng


Quyền số (weight)
Cho phép tính toán sủ dụng quyền số. Tuỳ chọn về quyền số sẽ được trình bày kỹ ở mục 5 của
chương này.
Các tuỳ chọn (Options)
Nhiều câu lệnh Stata cho phép các tuỳ chọn riêng. Các tuỳ chọn này được chỉ ra sau dấu phẩy.
Ví dụ:
Lệnh sum có tuỳ chọn là detail, cho phép tính toán thêm một số thống kê khác ngoài giá trị
trung bình và độ lệnh chuẩn.
. sum

rlpcex1, detail
comp.M&Reg price adj.pc tot exp
------------------------------------------------------------Percentiles
Smallest
1%
682.9575
357.318
5%
1012.433
366.2792
10%
1238.088
376.9805
Obs
5999
25%
1671.054
381.3502
Sum of Wgt.

5999
50%

2397.042

75%
90%
95%
99%

3711.917
5940.803
8045.32
14163.04

Largest
26944.64
30624.77
31066.5
45801.71

Mean
Std. Dev.

3188.667
2692.567

Variance
Skewness
Kurtosis


7249918
3.791027
29.21398

Chú ý:
-

Stata cho phép viết tắt các lệnh và tùy chọn. Trong tài liệu này, phần gạch chân dưới
các lệnh có nghĩa là lệnh đó có thể viết tắt bằng ký tự trong phần gạch chân này. Ví dụ
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)
Các toán tử (operators)
Các toán tử trong Stata được ký hiệu như sau:
Ký hiệu

ý nghĩa

Số học
+

Cộng

-


Trừ

*

Nhân

/

Chia
11


^

Luỹ thừa

Quan hệ
>

Lớn hơn

<

Nhỏ hơn

>=

Lớn hơn hoặc bằng


<=

Nhỏ hơn hoặc bằng

==

Bằng

~=

Không bằng (khác)

!=

Không bằng (khác)

Lôgíc
~

Không

|

Hoặc

&



Chú ý:

Trong 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.
Ví dụ:
gen RRD=0
replace RRD=1 if reg8==1
Các hàm số (function)
Hàm số thường được dùng trong biểu thức (exp) của câu lệnh Stata. Nếu coi Y là một hàm số
của f(X1, X2,…, Xn) thì lệnh về hàm số trong Stata sẽ tính giá trị của Y nếu cho các giá trị của
Xi. Stata có 8 loại hàm số:
Mathematical functions

Các hàm toán học

Statistical functions

Hàm thống kê

Random numbers

Hàm cho số ngẫu nhiên

String functions

Hàm liên quan đến dẫy ký tự

Special functions

Hàm đặc biệt

Date functions


Hàm ngày tháng

Time-series functions

Hàm chuỗi thời gian

Matrix functions

Hà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
12


Lệ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
. help summarize
----------------------------------------------------------------------------------------help for summarize

(manual: [R] summarize)

----------------------------------------------------------------------------------------Summary statistics
….
Chú ý:
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ệnh
describe 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 mphs
source

3.4. Hiển thị giá trị của các biến

13


Cú 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

1.
2.

3.
4.
5.
. list

1.
2.
3.
4.
5.

househol farm in 1/5
househol
36307
28002
36017
32418
15215

farm
farm
farm
farm
non farm
non farm

househol farm in 1/5, nolabel
househol
36307
28002

36017
32418
15215

farm
1
1
1
0
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
14



Cú 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.
Ví dụ:
. count
5999
. count if reg7==1
859
. count if reg7==1 & urban98==1
187
. count if reg7==1 & urban98==0
672
3.8. Thống kê cơ bản
Cú pháp:
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á
trị của thập vị phân.
Ví dụ:
. sum

rlpcex1

Variable |
Obs
Mean
Std. Dev.

Min
Max
-------------+----------------------------------------------------rlpcex1 |
5999
3188.667
2692.567
357.318
45801.71
. sum

rlpcex1, detail

comp.M&Reg price adj.pc tot exp
------------------------------------------------------------Percentiles
Smallest
1%
682.9575
357.318
5%
1012.433
366.2792
10%
1238.088
376.9805
Obs
5999
25%
1671.054
381.3502
Sum of Wgt.

5999
50%
75%
90%
95%
99%

2397.042
3711.917
5940.803
8045.32
14163.04

Largest
26944.64
30624.77
31066.5
45801.71

Mean
Std. Dev.

3188.667
2692.567

Variance
Skewness
Kurtosis

7249918

3.791027
29.21398
15


3.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.
Ví dụ:
. gen x=invnorm(uniform())
. inspect x
x:
---|
#
|
#
|
#
|
#
|
#
#
#
| .
#
#
#

.
+----------------------3.918931
3.641588
(More than 99 unique values)

Negative
Zero
Positive
Total
Missing

Number of Observations
NonTotal
Integers
Integers
2964
2964
3035
3035
------------5999
5999
----5999

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

Ví dụ:
. tab sex
Gender of |
HH.head |
(1:M;2:F) |
Freq.
Percent
Cum.
------------+----------------------------------1 |
4375
72.93
72.93
2 |
1624
27.07
100.00
------------+-----------------------------------

16



Total |

5999

100.00

. tab1 urban98 reg7
-> tabulation of 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
-> tabulation of reg7
Code by 7 |
regions |
Freq.
Percent

Cum.
------------+----------------------------------region1 |
859
14.32
14.32
region2 |
1175
19.59
33.91
region3 |
708
11.80
45.71
region4 |
754
12.57
58.28
region5 |
368
6.13
64.41
region6 |
1023
17.05
81.46
region7 |
1112
18.54
100.00
------------+----------------------------------Total |

5999
100.00

Tạo bảng tần suất 2 chiều
Cú pháp:
tabulate <tên biến 1> <tên biến 2> [quyền số] [điều kiện] [phạm vi] [, chi2 missing nofreq
cell column row]
tab2 <danh sách biến> [quyền số] [điều kiện] [phạm vi] [, chi2 missing nofreq cell column
row]
Lệ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;
98; |
0:nonfarm)
0:rural 98 | non farm
farm |
Total
-----------+----------------------+---------Rural |
1021
3248 |
4269
Urban |
1540
190 |
1730
-----------+----------------------+---------Total |
2561
3438 |

5999

17


Cá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


Ví dụ:
. tab

reg7 urban98, cell nof

| 1:urban 98; 0:rural
Code by 7 |
98
regions |
Rural
Urban |
Total
-----------+----------------------+---------region1 |
11.20
3.12 |
14.32
region2 |
13.05
6.53 |
19.59
region3 |
10.00
1.80 |
11.80
region4 |
8.37
4.20 |
12.57
region5 |
6.13

0.00 |
6.13
region6 |
8.57
8.48 |
17.05
region7 |
13.84
4.70 |
18.54
-----------+----------------------+---------Total |
71.16
28.84 |
100.00
. tab farm urban98, column row
Type of HH | 1:urban 98; 0:rural
(1:farm; |
98
0:nonfarm) |
Rural
Urban |
Total
-----------+----------------------+---------non farm |
1021
1540 |
2561
|
39.87
60.13 |
100.00

|
23.92
89.02 |
42.69
-----------+----------------------+---------farm |
3248
190 |
3438
|
94.47
5.53 |
100.00
|
76.08
10.98 |
57.31
-----------+----------------------+---------Total |
4269
1730 |
5999
|
71.16
28.84 |
100.00
|
100.00
100.00 |
100.00

3.11. Tạo bảng thống kê tổng hợp bằng lệnh tabulate…summarize

Cú pháp:
tabulate <tên biến 1> <tên biến 2> [quyền số] [điều kiện] [phạm vi] , summarize(tên biến
3) [means standard freq missing ]
Lệnh này tạo bảng một hoặc hai chiều định nghĩa bởi biến 1 hoặc biến 2 và mỗi ô cho giá trị
thống kê trung bình, độ lệch chuẩn và tần suất của biến 3.
Ví dụ:
18


. tab

farm urban98, sum(poor)
Means, Standard Deviations and Frequencies of poor

Type of HH | 1:urban 98; 0:rural
(1:farm; |
98
0:nonfarm) |
Rural
Urban |
Total
-----------+----------------------+---------non farm | .2791381 .06168831 | .14837954
| .44879538 .24066673 | .35554523
|
1021
1540 |
2561
-----------+----------------------+---------farm | .42302956 .12105263 | .4063409
| .4941161 .32705022 | .49122109
|

3248
190 |
3438
-----------+----------------------+---------Total | .3886156 .06820809 | .29621604
| .48749275 .25217555 | .45662551
|
4269
1730 |
5999

Các tuỳ chọn:
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

Ví dụ:
. replace poor=poor*100
(1777 real changes made)

. format poor %4.2f
. tab reg7 urban98, sum(poor) means
Means of poor
| 1:urban 98; 0:rural
Code by 7 |
98
regions |
Rural
Urban |
Total
-----------+----------------------+---------region1 |
61.46
8.02 |
49.83
region2 |
32.57
5.87 |
23.66
region3 |
44.83
10.19 |
39.55
region4 |
37.25
11.51 |
28.65
region5 |
47.28
. |
47.28

region6 |
12.45
2.16 |
7.33
region7 |
35.78
10.28 |
29.32
-----------+----------------------+---------Total |
38.86
6.82 |
29.62

3.12. Tạo bảng thống kê tổng hợp bằng lệnh tabstat
Cú pháp:
19


tabstat <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
--------+-------------------region1 | 5595.556 9560.349
| 5350.916 8536.373
----------------------------region2 | 6419.427 12951.14
| 5664.145 9997.146
----------------------------region3 | 5692.201 10885.38
| 5369.411 9022.334
----------------------------region4 | 6512.576 13525.41
| 5790.046 11077.51
----------------------------region5 | 5894.983 11217.05
| 5380.505 9421.447
----------------------------region6 | 9746.158 23515.01
| 8428.743 18514.39
----------------------------region7 | 6556.616 13068.11
| 6066.128 11043.99
----------------------------Total | 6787.898 14010.74
| 5951.567 10733.19
-----------------------------

Các tuỳ chọn:
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:
Cú pháp thống kê

ý nghĩa

mean

Trung bình mean

count

Đếm số quan sát

n

Giống như lệnh count (Đếm số quan sát)
20


sum

Tổng cộng


max

Giá trị lớn nhất

min

Giá trị nhỏ nhất

range

Biên độ = Giá trị lớn nhất - Giá trị nhỏ nhất

sd

Độ lệch chuẩn

sdmean

Độ lệch chuẩn của trung bình = Độ lệch chuẩn / {(Số quan
sát)^0.5}

skewness

Độ lệch của phân phối

kurtosis

Độ nhọn

median


Trung vị (Giống như p50)

p1

1% phân vị

p5

5% phân vị

p10

10% phân vị

p25

25% phân vị

p50

50% phân vị (trung vị)

p75

75% phân vị

p90

90% phân vị


p95

95% phân vị

p99

99% phân vị

iqr

p75 - p25

q

tương đương với "p25 p50 p75"

Ví dụ:
. tabstat

rlpcex1, stats(mean sd q) by(reg7) format(%5.1f)

Summary for variables: rlpcex1
by categories of: reg7 (Code by 7 regions)
reg7 |
mean
sd
p25
p50
p75

--------+-------------------------------------------------region1 |
2174.8
1265.1
1328.0
1792.1
2710.8
region2 |
3294.0
2511.9
1816.7
2532.5
3822.0
region3 |
2503.3
1918.0
1489.7
2001.2
2808.1
region4 |
2933.7
2260.5
1697.9
2362.2
3471.4
region5 |
2087.3
1285.4
1217.3
1850.8
2700.5

region6 |
5257.5
4005.7
2676.7
4154.1
6431.8
region7 |
2931.1
2137.2
1680.1
2321.9
3414.7
----------------------------------------------------------Total |
3188.7
2692.6
1671.1
2397.0
3711.9
-----------------------------------------------------------

3.13. Tạo bảng thống kê tổng hợp bằng lệnh table
Cú pháp:
21


table <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).

Ví dụ:
. table reg7 urban98 farm, contents(mean poor)
---------------------------------------------------|
Type of HH (1:farm; 0:nonfarm) and
|
1:urban 98; 0:rural 98
Code by 7 | ---- non farm --------- farm -----regions
|
Rural
Urban
Rural
Urban
----------+----------------------------------------region1 | 19.35484 6.015038
65.7377 12.96296
region2 | 26.66667 4.624278
33.96524 15.21739
region3 | 40.98361 10.11236
45.8159 10.52632
region4 |
21.6 11.63793
42.44032
10
region5 | 30.76923
49.24012
region6 | 15.04065 2.195609
10.07463
0
region7 | 38.62816 10.04184
34.35805 11.62791
----------------------------------------------------


Các tuỳ chọn:
Contents(nội dung)

Liệt kê danh sách các biến và các thống kê. Các ký hiệu thống kê tương
tự như ở lệnh tabstat

row

Hiển thị thống kê tổng của các dòng

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

Ví dụ:
. table reg7 urban98 farm, contents(mean poor) row col format(%4.2f)
-----------------------------------------------------| Type of HH (1:farm; 0:nonfarm) and 1:urban
|
98; 0:rural 98
Code by 7 | ----- non farm ---------- farm -----regions
| Rural Urban Total

Rural Urban Total
----------+------------------------------------------region1 | 19.35
6.02 10.26
65.74 12.96 61.45
region2 | 26.67
4.62 11.29
33.97 15.22 32.70
region3 | 40.98 10.11 27.96
45.82 10.53 44.47
region4 | 21.60 11.64 15.13
42.44 10.00 40.81
region5 | 30.77
30.77
49.24
49.24
region6 | 15.04
2.20
6.43
10.07
0.00
9.78
region7 | 38.63 10.04 25.39
34.36 11.63 32.72
|
Total | 27.91
6.17 14.84
42.30 12.11 40.63

22



-----------------------------------------------------. table urban98 farm, contents(mean poor sd poor) row col format(%4.2f)
---------------------------------------1:urban
|
98;
|
Type of HH (1:farm;
0:rural
|
0:nonfarm)
98
| non farm
farm
Total
----------+----------------------------Rural |
27.91
42.30
38.86
|
44.88
49.41
48.75
|
Urban |
6.17
12.11
6.82
|
24.07
32.71

25.22
|
Total |
14.84
40.63
29.62
|
35.55
49.12
45.66
---------------------------------------. table urban98
format(%4.2f)

farm,

contents(mean

rlpcex1

mean

rlhhex1)

row

col

---------------------------------------1:urban
|
98;

|
Type of HH (1:farm;
0:rural
|
0:nonfarm)
98
| non farm
farm
Total
----------+----------------------------Rural | 2835.83
2212.12
2361.29
| 13242.03 10120.89 10867.36
|
Urban | 5476.86
3232.17
5230.33
| 22984.44 11903.19 21767.43
|
Total | 4423.95
2268.49
3188.67
| 19100.41 10219.39 14010.74
----------------------------------------

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)
23


Lệ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ụ:

. tab reg7, gen(region)
Code by 7 |
regions |
Freq.
Percent
Cum.
------------+----------------------------------region1 |
859
14.32
14.32
region2 |
1175
19.59

33.91
region3 |
708
11.80
45.71
region4 |
754
12.57
58.28
region5 |
368
6.13
64.41
region6 |
1023
17.05
81.46
region7 |
1112
18.54
100.00
------------+----------------------------------Total |
5999
100.00
. tab1 region1 region2
-> tabulation of region1
reg7==regio |
n1 |
Freq.
Percent

Cum.
------------+----------------------------------0 |
5140
85.68
85.68
1 |
859
14.32
100.00
------------+----------------------------------Total |
5999
100.00
-> tabulation of region2
reg7==regio |
n2 |
Freq.
Percent
Cum.
------------+----------------------------------0 |
4824
80.41
80.41
1 |
1175
19.59
100.00
------------+----------------------------------Total |
5999
100.00


ở đây biến reg7 có 7 giá trị từ 1 đến 7 tương ứng với 7 biến giả từ region1 đến region7 sẽ được
tạo ra. Biến region1 nhận giá trị bằng 1 nếu như biến reg7 nhận giá trị 1, nếu không thì bằng 0.
Tương tự biến region7 nhận giá trị 1 nếu như biến reg7 bằng 7.
ở 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)
24



gen 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.
Ví dụ:
. egen sumexp=sum(rlpcex1)
. sum sumexp
Variable |
Obs
Mean
Std. Dev.
Min
Max
-------------+----------------------------------------------------sumexp |
5999
1.91e+07
0
1.91e+07
1.91e+07
. egen g=median( food+ nonfood1)
. sum g
Variable |
Obs
Mean
Std. Dev.
Min
Max
-------------+----------------------------------------------------g |
5999
11063.6
0

11063.6
11063.6

Thay thế giá trị của biến
Cú pháp:
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ủa
biến kiểu chữ chỉ ra bởi tên biến (được xếp theo vần chữ cái).
Ví dụ:
25


×