Uploaded by Pham Thi Hong Men

Stata 1

advertisement
Phân tích dữ liệu cơ bản sử dụng Stata
Buổi 1: Làm quen với Stata
Nguyễn Ngọc Minh, Ma Doãn Hải
DEPOCEN
3-4/2022
Nguyễn Ngọc Minh, Ma Doãn Hải (DEPOCEN)Phân tích dữ liệu cơ bản sử dụng Stata
3-4/2022
1 / 28
Giao diện phần mềm
Properties: Hiển thị thông tin về biến (Variables) và bộ số liệu (Data)
Variables: Các biến của bộ số liệu
Command: Trực tiếp thực hiện các câu lệnh
Review: Hiển thị các câu lệnh được thực hiện
Results: Hiển thị kết quả mỗi câu lệnh
Log, Viewers, Graph, Do-file Editor, Data Editor và Data Browser
Nguyễn Ngọc Minh, Ma Doãn Hải (DEPOCEN)Phân tích dữ liệu cơ bản sử dụng Stata
3-4/2022
2 / 28
Nguồn dữ liệu sử dụng trong chương trình học
Bài giảng: Khảo sát mức sống hộ gia đình ở Việt Nam VHLSS 2016
Bài tập về nhà, bài kiểm tra:
Khảo sát hộ gia đình tiếp cận nguồn lực ở Việt Nam VARHS 2016
Khảo sát doanh nghiệp vừa và nhỏ ở Việt Nam 2015
Đánh giá ngẫu nhiên về các khoản chi trả cho các dịch vụ hệ sinh thái
ở Ấn Độ
Nguyễn Ngọc Minh, Ma Doãn Hải (DEPOCEN)Phân tích dữ liệu cơ bản sử dụng Stata
3-4/2022
3 / 28
Hiển thị dữ liệu
Tiếp cận dữ liệu
Quan sát/ Cỡ mẫu
Biến quan sát
Cấp độ của tập dữ liệu: dữ liệu cấp cá nhân, dữ liệu cấp hộ gia đình,
dữ liệu cấp quốc gia, v.v...
Biến nhận diện (Identification variables): Sử dụng để nhận biết cấp độ
của các quan sát và để gộp dữ liệu
Data Editor: Hiển thị thông tin dữ liệu và trực tiếp chỉnh sửa bộ dữ
liệu (manual)
Data Browser: Chỉ hiển thị thông tin dữ liệu
Dữ liệu số (Number) và dữ liệu chuỗi (String)
Nguyễn Ngọc Minh, Ma Doãn Hải (DEPOCEN)Phân tích dữ liệu cơ bản sử dụng Stata
3-4/2022
4 / 28
Do-file và cách tổ chức các do-files
Do-file Editor và doedit
Do-file: Một do-file là một tệp tin bao gồm một chuỗi các câu lệnh
được sử dụng để xử lý toàn bộ hoặc một phần dữ liệu của một dự án.
Một do-file tốt cần phải cung cấp đầy đủ thông tin để người đọc có
thể hiểu được ý đồ của người viết do-file. Cấu trúc của một do-file
thường như sau:
Thông tin về bộ dữ liệu hoặc phần dữ liệu được xử lý trong do-file
Thông tin liên hệ của người tạo do-file
Các lệnh macro dùng để chỉ ra đường dẫn của bộ số liệu gốc (raw
data) và kết quả.
Các lời ghi chú tương ứng với các câu lệnh được thực hiện
Master do-file: Xử lý một bộ dữ liệu có thể cần dùng đến nhiều
do-file khác nhau, Master do-file là do-file được dùng để gọi và chạy
tất cả các do-file của một dự án. Master do-file có chức năng như
một bản đồ tới thư mục dữ liệu.
Nguyễn Ngọc Minh, Ma Doãn Hải (DEPOCEN)Phân tích dữ liệu cơ bản sử dụng Stata
3-4/2022
5 / 28
Do-file và cách tổ chức các do-files
Bạn sẽ không gặp vấn đề gì khi để dòng trống trong do-file. Bạn có thể
lưu được các ghi chú trong do-file theo các cách khác nhau.
*: Để dấu này ở đầu dòng, Stata sẽ bỏ qua toàn bộ dòng này.
/* */: Stata sẽ bỏ qua tất cả các dòng ở giữa 2 dòng này.
//: Stata sẽ bỏ qua tất cả tất cả các ký tự từ sau dấu này đến cuối
dòng.
///: Stata cũng sẽ bỏ qua tất cả tất cả các ký tự từ sau dấu này đến
cuối dòng. Tuy nhiên, Stata sẽ nối phần lệnh ở câu tiếp theo tới câu
lệnh hiện tại. Vì vậy, ký hiệu này cho phép ta ngắt các câu lệnh dài
thành nhiều dòng trong do-file. Tuy nhiên, nếu nhập trực tiếp trong
cửa sổ Command, ký hiệu này sẽ không có tác dụng nối dài câu lệnh.
Nguyễn Ngọc Minh, Ma Doãn Hải (DEPOCEN)Phân tích dữ liệu cơ bản sử dụng Stata
3-4/2022
6 / 28
Các câu lệnh macro: global và local
Macro gán một tập hợp từ hoặc một số cho một tên. Có hai loại macro.
global: ở trong bộ nhớ cho đến khi bạn rời khỏi Stata
local: chỉ tồn tại với một chương trình hoặc một vòng lặp.
Global một tập hợp các biến
Ví dụ: global hh16 tinhh huyen xa diaban hoso
Lệnh: br $hh16 sẽ hiện thị cùng kết quả với lệnh:
br tinhh huyen xa diaban hoso
Global một đường dẫn
Ví dụ: global data "/Users/ngoc-minhnguyen/Documents/Stata
course/Datasource2022"
use "$data/Muc1A_2016_n.dta", clear
Nguyễn Ngọc Minh, Ma Doãn Hải (DEPOCEN)Phân tích dữ liệu cơ bản sử dụng Stata
3-4/2022
7 / 28
Các câu lệnh help, search, findit và ssc
help: Khi bạn biết tên của lệnh bạn muốn sử dụng, bạn có thể sử
dụng trợ giúp Stata để có được bản tóm tắt nhanh về lệnh và cú
pháp của nó. Ví dụ: help global
search: Khi bạn không biết chính xác câu lệnh, nhưng biết chủ đề
cần tìm kiếm, Stata sẽ tìm kiếm cơ sở dữ liệu từ khóa và sẽ hiển thị
cho bạn các tệp trợ giúp và các nguồn khác nhau trong đó chủ đề
cần tìm kiếm được đề cập. Ví dụ: search macro
findit: tìm kiếm từ nhiều nguồn hơn nữa. Tuy nhiên, findit đặc biệt
thích hợp để cài đặt các lệnh bổ sung (thường có sẵn như được gọi là
tệp ado), vì nó sẽ hiển thị cho bạn các nguồn có thể tải xuống các
tệp này. Ví dụ: findit gologit
ssc: cho phép tải xuống một gói lệnh (package).
Ví dụ: ssc install outreg
Nguyễn Ngọc Minh, Ma Doãn Hải (DEPOCEN)Phân tích dữ liệu cơ bản sử dụng Stata
3-4/2022
8 / 28
Log file
Tại sao cần sử dụng log file: lưu trữ kết quả phân tích để sử dụng và
trích xuất ra các phần mềm khác như Excel, Word
Các cách tạo log file:
Sử dụng log trên thanh công cụ
File/Log/Begin (Append, Close, Suspend, Resume)
Từ cửa sổ Command, sử dụng cú pháp log
Từ một do-file, sử dụng cú pháp log
Nguyễn Ngọc Minh, Ma Doãn Hải (DEPOCEN)Phân tích dữ liệu cơ bản sử dụng Stata
3-4/2022
9 / 28
Các câu lệnh sử dụng với log file
log using: tạo một tệp (log file) để sau đó lưu tất cả các lệnh và kết quả
của các lệnh này. Lần đầu tiên bạn mở một log file, bạn phải đặt tên cho
log file mới sẽ được tạo. Cú pháp cơ bản:
log using filename [, append replace [ text | smcl ] ]
filename: tên của log file
append: nhập thêm thông tin mới vào log file đã có sẵn
replace: thay thế hoàn toàn thông tin của log file đã có sẵn bằng
thông tin mới
text | smcl: Định dạng của log file
Nguyễn Ngọc Minh, Ma Doãn Hải (DEPOCEN)Phân tích dữ liệu cơ bản sử dụng Stata
3-4/2022
10 / 28
Các câu lệnh sử dụng với log file
log off: tạm thời tắt ghi thông tin vào log file, để mọi kết quả của
các lệnh tiếp theo không được sao chép vào log file. Điều này rất hữu
ích nếu bạn muốn lưu một số kết quả nhưng không phải tất cả. Câu
lệnh log off chỉ hoạt động sau câu lệnh log using.
log on: khởi động lại quá trình ghi thông tin vào log file, sao chép
mọi kết quả mới vào log file vừa được tắt tạm thời. Câu lệnh log on
chỉ hoạt động sau lệnh log using và lệnh log off.
log close: tắt hẳn một log file. Sau lệnh log close, cách duy nhất
để bắt đầu ghi nhật ký lại là log using.
set logtype: Sử dụng trước khỉ tạo một log file, lệnh này yêu cầu
Stata luôn lưu các log file ở định dạng text hoặc smcl
Nguyễn Ngọc Minh, Ma Doãn Hải (DEPOCEN)Phân tích dữ liệu cơ bản sử dụng Stata
3-4/2022
11 / 28
Các câu lệnh cơ bản để xử lý dữ liệu - cd
Lệnh cd (change directory) có thể được sử dụng riêng để xác định thư mục
bạn hiện đang làm việc. Lệnh này, theo sau là tên thư mục, sẽ thay đổi
thư mục bạn làm việc. Lưu ý rằng nếu đường dẫn thư mục của bạn chứa
các khoảng trắng (space), bạn sẽ cần đặt đường dẫn trong dấu ngoặc kép
Ví dụ:
cd "/Users/ngoc-minhnguyen/Documents/Stata course/Datasource2022"
use Muc1A_2016_n, clear
Nguyễn Ngọc Minh, Ma Doãn Hải (DEPOCEN)Phân tích dữ liệu cơ bản sử dụng Stata
3-4/2022
12 / 28
Các câu lệnh cơ bản để xử lý dữ liệu - set
Lệnh set được sử dụng để điều khiển môi trường hoạt động Stata. Có
hàng tá lệnh thiết lập, nhưng nhiều lệnh trong số đó hiếm khi được sử
dụng. Một số trong số những lệnh phổ biến là:
set mem XXm: đặt bộ nhớ cho Stata ở XX megabyte. Nếu bạn nhận
được thông báo lỗi “Không có chỗ để thêm các quan sát khác”, điều
này có nghĩa là tệp dữ liệu quá lớn so với bộ nhớ được cấp cho Stata.
Lệnh này làm tăng bộ nhớ được cấp cho Stata. Bạn không thể đặt
XX lớn hơn tổng bộ nhớ RAM trong máy tính.
set more off/on: được sử dụng để bật và tắt cuộn thông tin liên
tục. Sử dụng set more off nếu bạn không quan tâm đến thông tin
trung gian, chỉ quan tâm đến kết quả cuối cùng. Sử dụng set more
on nếu bạn cần các thông tin chi tiết.
set scrollbufsize XX: được sử dụng để thay đổi số lượng thông
tin đầu ra mà Stata sẽ lưu trữ trong cửa sổ Results. XX được biểu thị
bằng byte. Mặc định là 32.000 (32k) và tối đa là 500.000 (500k).
Nhập help set để có danh sách các cài đặt khác trong Stata.
Nguyễn Ngọc Minh, Ma Doãn Hải (DEPOCEN)Phân tích dữ liệu cơ bản sử dụng Stata
3-4/2022
13 / 28
Các câu lệnh cơ bản để xử lý dữ liệu - clear
Lệnh clear: sẽ xóa tất cả các tệp, biến và nhãn khỏi bộ nhớ để sẵn sàng
sử dụng tệp dữ liệu mới. Bạn có thể xóa bộ nhớ bằng cách sử dụng lệnh
xóa hoặc bằng cách sử dụng lệnh con xóa như một phần của lệnh use.
Lệnh này không xóa bất kỳ dữ liệu nào được lưu vào ổ cứng.
Nguyễn Ngọc Minh, Ma Doãn Hải (DEPOCEN)Phân tích dữ liệu cơ bản sử dụng Stata
3-4/2022
14 / 28
Các câu lệnh cơ bản để xử lý dữ liệu - use
Lệnh use: dùng để mở một tập Stata hiện có. Cú pháp sử dụng với lệnh
clear có thể là:
clear
use filename
hoặc
use filename , clear
Ví dụ: use "$data/Muc1A_2016_n.dta", clear
Nguyễn Ngọc Minh, Ma Doãn Hải (DEPOCEN)Phân tích dữ liệu cơ bản sử dụng Stata
3-4/2022
15 / 28
Các câu lệnh cơ bản để xử lý dữ liệu - describe
Lệnh describe cung cấp mô tả ngắn gọn về tệp dữ liệu. Các thông tin
bao gồm:
Số lượng biến
Số lượng quan sát
Kích thước của tệp
Danh sách các biến và đặc điểm của chúng
Nguyễn Ngọc Minh, Ma Doãn Hải (DEPOCEN)Phân tích dữ liệu cơ bản sử dụng Stata
3-4/2022
16 / 28
Các câu lệnh cơ bản để xử lý dữ liệu - describe
Lệnh describe varname cung cấp các thông tin về mỗi biến trong tệp dữ
liệu, bao gồm:
Tên biến (variable name)
Kiểu lưu trữ (Storage type): byte được sử dụng cho các biến nhị
phân, int được sử dụng cho số nguyên và float được sử dụng cho
các biến liên tục có thể có số thập phân. Để xem thông tin về từng
loại bộ nhớ, hãy nhập help datasets.
Kiểu hiển thị: kết quả đầu ra của câu lệnh.
Nhãn các giá trị của biến (value label): tên của một tập hợp các nhãn
cho các giá trị khác nhau.
Nhãn biến (variable label)
Ví dụ: describe m1ac8
Nguyễn Ngọc Minh, Ma Doãn Hải (DEPOCEN)Phân tích dữ liệu cơ bản sử dụng Stata
3-4/2022
17 / 28
Các câu lệnh cơ bản để xử lý dữ liệu - list
Lệnh list liệt kê các giá trị của các biến trong tập dữ liệu. Cú pháp là:
list [varlist] [if exp] [in range]
Với [varlist] , bạn có thể chỉ định giá trị của biến nào sẽ được hiển thị.
Nếu không có danh sách nào được chỉ định, tất cả các biến sẽ được liệt
kê. Với if và in, bạn có thể chỉ định bản ghi nào sẽ được liệt kê.
Nguyễn Ngọc Minh, Ma Doãn Hải (DEPOCEN)Phân tích dữ liệu cơ bản sử dụng Stata
3-4/2022
18 / 28
Các câu lệnh cơ bản để xử lý dữ liệu - list
Dưới đây là một số ví dụ:
list: liệt kê toàn bộ tập dữ liệu
list in 1/10: liệt kê các quan sát từ 1 đến 10
list m1ac7a m1ac8: liệt kê các biến đã chọn
list m1ac8 in 1/20: liệt kê các quan sát 1-20 cho biến đã chọn
list m1ac8 if m1ac8 == 1: liệt kê các quan sát đã kết hôn
Nguyễn Ngọc Minh, Ma Doãn Hải (DEPOCEN)Phân tích dữ liệu cơ bản sử dụng Stata
3-4/2022
19 / 28
Các câu lệnh cơ bản để xử lý dữ liệu - summarize
Lệnh summarize tạo ra thống kê về các biến, và thường được dùng cho
các biến liên tục (continuous variables). Ví dụ: tuổi, chi tiêu bình quân
đầu người, v.v... Cú pháp có dạng như sau:
summarize [varlist] texttt[if exp] [in range], [detail]
Theo mặc định, nó tạo ra các thống kê sau:
Trung bình
Độ lệch chuẩn
Giá trị tối thiểu
Giá trị tối đa
Nếu bạn chỉ định detail, Stata cung cấp cho bạn số liệu thống kê bổ
sung:
Skewness
Kurtosis
Bốn giá trị nhỏ nhất
Bốn giá trị lớn nhất
Các percentiles khác nhau
Nguyễn Ngọc Minh, Ma Doãn Hải (DEPOCEN)Phân tích dữ liệu cơ bản sử dụng Stata
3-4/2022
20 / 28
Các câu lệnh cơ bản để xử lý dữ liệu - summarize
Dưới đây là một số ví dụ:
summarize: đưa ra thống kê về tất cả các biến
summarize m1ac5: đưa ra thống kê về tuổi
summarize m1ac5 if m1ac8 == 1: đưa ra thống kê về tuổi của
người đã kết hôn
Nguyễn Ngọc Minh, Ma Doãn Hải (DEPOCEN)Phân tích dữ liệu cơ bản sử dụng Stata
3-4/2022
21 / 28
Các câu lệnh cơ bản để xử lý dữ liệu - tabulate, tab1,
tab2
Đây là ba lệnh liên quan tạo ra bảng tần suất, và thường được dùng cho
các biến rời rạc (discrete variables). Họ có thể tạo bảng tần suất một
chiều (bảng có tần suất của một biến) hoặc bảng tần suất hai chiều (bảng
với một biến hàng và một biến cột).
tabulate or tab: đưa ra một bảng tần suất cho một hoặc hai biến
tab1: tạo bảng tần suất một chiều cho mỗi biến trong danh sách biến
tab2: tạo ra tất cả các bảng hai biến có thể có từ danh sách các biến
Nguyễn Ngọc Minh, Ma Doãn Hải (DEPOCEN)Phân tích dữ liệu cơ bản sử dụng Stata
3-4/2022
22 / 28
Các câu lệnh cơ bản để xử lý dữ liệu - tabulate, tab1,
tab2
Bạn có thể sử dụng một số tùy chọn với các lệnh sau:
all: đưa ra tất cả các kết quả kiểm định thống kê cho bảng hai chiều
cell: cung cấp tỷ lệ phần trăm tổng thể cho bảng hai chiều
col: cung cấp tỷ lệ phần trăm cột cho bảng hai chiều
row: cung cấp tỷ lệ phần trăm hàng cho bảng hai chiều
nofreq: không hiển thị tỷ lệ phần trăm tần suất
nol: không hiển thị nhãn giá trị mà hiển thị các giá trị số
chi2: cung cấp kiểm định chi2 cho các bảng hai chiều
Có nhiều tùy chọn khác, bao gồm các kiểm định thống kê. Để biết thêm
thông tin, hãy nhập help tabulate.
Nguyễn Ngọc Minh, Ma Doãn Hải (DEPOCEN)Phân tích dữ liệu cơ bản sử dụng Stata
3-4/2022
23 / 28
Các câu lệnh cơ bản để xử lý dữ liệu - tabulate, tab1,
tab2
Dưới đây là một số ví dụ:
tab m1ac8: lập bảng về tình trạng hôn nhân
tab m1ac8 m1ac2: lập bảng thống kê chéo giữa biến tình trạng hôn
nhân và biến giới tính
tab m1ac8 m1ac2 , row : lập bảng thống kê chéo giữa biến tình
trạng hôn nhân và biến giới tính với tỷ lệ phần trăm theo hàng
tab1 m1ac8 m1ac2: lập bảng tần suất riêng cho từng biến: biến tình
trạng hôn nhân và biến giới tính
tab2 m1ac8 m1ac2 m1ac16: tạo ra ba bảng thống kê chéo cho từng
cặp biến
Nguyễn Ngọc Minh, Ma Doãn Hải (DEPOCEN)Phân tích dữ liệu cơ bản sử dụng Stata
3-4/2022
24 / 28
Các câu lệnh cơ bản để xử lý dữ liệu - tiền tố prefix
Đây không phải là một lệnh độc lập mà là một “tiền tố” đi trước một lệnh
khác và yêu cầu Stata lặp lại lệnh cho mỗi giá trị của một biến. Cú pháp
chung là:
bysort varlist : command
trong đó varlist là một hoặc nhiều biến (thường chỉ là một) và command
là lệnh Stata sẽ lặp đi lặp lại. Một số ví dụ về tiền tố bysort là:
bysort m1ac8 : sum m1ac5: lập bảng thống kê về độ tuổi theo từng
nhóm tình trạng hôn nhân
bysort m1ac8 : tab m1ac2: lập bảng tần suất về giới tính cho từng
nhóm tình trạng hôn nhân
Nguyễn Ngọc Minh, Ma Doãn Hải (DEPOCEN)Phân tích dữ liệu cơ bản sử dụng Stata
3-4/2022
25 / 28
Các câu lệnh cơ bản để xử lý dữ liệu - save
Lệnh save lưu dữ liệu trong bộ nhớ. Cú pháp là:
save filename , replace
Nếu bạn không đặt tên tệp mới, Stata sẽ sử dụng chính tên tệp hiện tại,
tệp gốc sẽ bị ghi đè thông tin. Bạn không thể ghi đè lên một tệp cũ trừ
khi bạn chỉ định replace.
Ví dụ save $results/practice26Mar.dta , replace
Nguyễn Ngọc Minh, Ma Doãn Hải (DEPOCEN)Phân tích dữ liệu cơ bản sử dụng Stata
3-4/2022
26 / 28
Các câu lệnh cơ bản để xử lý dữ liệu - tùy chọn if, in
if, in không phải các một lệnh, mà là một tùy chọn cho nhiều lệnh được
sử dụng trong Stata.
if: thực hiện lệnh cho các quan sát hoặc biến thỏa mãn một số điều
kiện. Lưu ý rằng câu lệnh if luôn sử dụng hai ký hiệu bằng nhau ==
cho đẳng thức. | là ký hiệu của “hoặc” trong khi & là ký hiệu của “và”.
in: thực hiện một lệnh chỉ cho các quan sát được chọn
Nguyễn Ngọc Minh, Ma Doãn Hải (DEPOCEN)Phân tích dữ liệu cơ bản sử dụng Stata
3-4/2022
27 / 28
Luyện tập
Sử dụng tập Muc1A_2016_n.dta và các câu lệnh vừa được giới thiệu để
trả lời các câu hỏi sau:
Có bao nhiêu biến và bao nhiêu quan sát trong tập tin?
Tỷ lệ số quan sát là nữ là nữ?
Có sự khác biệt ý nghĩa thống kê giữa giới tính người trả lời và việc
sử dụng internet hay không?
Tỷ lệ người trả lời là nữ có tuổi dưới 30 là bao nhiêu?
Tỷ lệ người trả lời là nữ tham gia hội nông dân khác nhau như thế
nào theo tình trạng hôn nhân?
Tuổi trung bình của người trả lời là bao nhiêu?
Tuổi trung bình của một người đã kết hôn và có sử dụng internet là
bao nhiêu?
Nguyễn Ngọc Minh, Ma Doãn Hải (DEPOCEN)Phân tích dữ liệu cơ bản sử dụng Stata
3-4/2022
28 / 28
Download