TRÍCH DỮ LIỆU TỪ STATA ---oOo--- Lưu ý cài phần mềm Stata ở chế độ Intercooled và các lệnh là chữ thường Tài liệu này chỉ hướng dẫn nhanh về cách truy xuất và lọc dữ liệu từ các cơ sở
Trang 1TRÍCH DỮ LIỆU TỪ STATA
-oOo -
Lưu ý cài phần mềm Stata ở chế độ Intercooled và các lệnh là chữ thường
Tài liệu này chỉ hướng dẫn nhanh về cách truy xuất và lọc dữ liệu từ các cơ sở dữ liệu được lưu dưới định dạng của Stata (.dta), để từ đó có thể ra các điều kiện trích dữ liệu và xuất sang định dạng của khác phần mềm khác như SPSS, Excel,…
1 Khởi động & thoát Stata
Vào thực đơn Start > chọn Program > chọn Stata > chọn Intercooled Stata 7
Trang 2Chương trình Giảng dạy Kinh tế Fulbright Trích dữ liệu từ Stata
Để thoát khỏi Stata bạn vào thực đơn File > chọn Exit
Trong cửa sổ vừa mở trên gõ thử các lệnh sau:
- Lệnh dir + <Enter> để xem các tập tin trong thư mục lưu trữ
- Lệnh memory + <Enter> để xem bộ nhớ của máy
2 Mở tập tin dta
Đối với phiên bản Stata 7.0 trước khi mở một tập tin thì bạn phải cấp phát bộ nhớ tương ứng với dung lượng của tập tin
B1 Để mở tập tin thì trước nhất phải đặt bộ nhớ dành cho tập tin bằng lệnh
set memory <Bộ nhớ>
Ví dụ: set mem 16M Æ Dành sẵn bộ nhớ 16 Megabyte cho tập tin
set mem 64K Æ Dành sẵn bộ nhớ 64 Kilobyte cho tập tin
Các lệnh có thể viết tắt lại như ví dụ trên
Trang 3B2 Sau khi khai báo bộ nhớ thì bạn có thể dùng lệnh use <đường dẫn và tên tập tin> để mở tập
tin dta hoặc cách dễ hơn là vào thực đơn File > chọn Open và chọn tập tin để mở
Trang 4Chương trình Giảng dạy Kinh tế Fulbright Trích dữ liệu từ Stata
này rất hạn chế vì dữ liệu lưu trữ trong tập tin dta thông thường rất lớn (thường là vài trăm ngàn dòng và đôi khi là vài triệu dòng) nên không thể copy sang Excel được Ngoài ra một Sheet trong Excel lại chỉ có thể chứa được 65536 dòng nên không thể chứa các bảng dữ liệu lớn được Do vậy, để chạy các mô hình phân tích dữ liệu thì hoặc là xử lý trực tiếp trong Stata hoặc trích các
dữ liệu cần thiết để xuất ra các định dạng khác (thông thường là csv) để từ đó có thể nhập trở lại các phần mềm xử lý số liệu thông dụng khác
B4 Trích lọc dữ liệu và xuất sang định dạng csv để các phần mềm khác có thể đọc được
Ví dụ: outsheet c4_1 c4_2 c4_3 c4_4 if c4_2>30 using ketqua.csv, comma
Î Xuất 4 biến c4_1, c4_2, c4_3 và c4_4 sao cho trong đó biến c4_2 có giá trị lớn hơn 30
và lưu vào tập tin tên là ketqua.csv và các biến, các giá trị cách nhau bằng dấu phẩy
Lưu ý:
- Lệnh dùng tất cả chữ thường
- Lệnh using dùng để lưu file
Hình bên dưới là kết quả xuất sang tập tin csv và dùng phần mềm Excel để mở ra
(Tập tin xuất ra được lưu mặc định tại C:\Data nếu các bạn không có hiệu chỉnh nào
khác)
Trang 5Một số lệnh cơ bản
gen <tên biến> = <giá trị/ biểu thức> Æ Tạo biến mới chứa giá trị
drop <tên biến> Æ Xóa biến/ quan sát
replace <tên biến> = <tên biến>|<giá trị/ biểu thức> Æ Đổi giá trị của biến
Lệnh lọc dữ liệu
if exp
if có thể dùng chung với hầu hết các lệnh khác của Stata
exp là một biểu thứcví dụ như age>21
Ví dụ
list make mpg if mpg>25
list make mpg if mpg>25 & mpg<30
list make mpg if mpg>25 | mpg<10
regress mpg weight displ if foreign==1
Trang 6Chương trình Giảng dạy Kinh tế Fulbright Trích dữ liệu từ Stata
nonames để chỉ thị không xuất tên các biến, thường các tên này ở dòng dầu tiên của tập
tin kết xuất
nolabel để chỉ thị các giá trị số trong tên của các biến nhãn cũng được kết xuất
noquote để chỉ thị các biến chứa chuỗi không đặt trong dấu ngoặc kép trong tập tin kết xuất
comma để chỉ thị dấu phẩm được dùng làm dấu phân cách giữa các biến (bỏ trống thì
mặc định là dùng tab để phân cách)
replace để chỉ thị sẽ ghi tập tin kết xuất đè lên tập tin có sẵn nếu có
Ví dụ
outsheet using tosend
outsheet using tosend, replace
Các toán tử
Quan hệ
Số học Luận lý (cho giá trị số hoặc chuỗi)
- - -
+ addition ~ not > greater than
- subtraction | or < less than
* multiplication & and >= > or equal
/ division <= < or equal
^ power == equal
+ string concatenation ~= not equal
Lưu ý phép so sánh bằng trong Stata là == (hai dấu = liền nhau)
Ví dụ
generate newvar = oldvar*myvar-3
replace myvar = this/that if thatvar==3
Xóa biến hoặc quan sát
drop varlist
drop if exp
drop in range [if exp]
keep varlist
keep if exp
keep in range [if exp]
clear
by : có thể dùng may be used with the second syntax of drop and the second syntax of keep;
Description
drop loại bỏ biến hoặc quan sát ra khỏi tập dữ liệu trong bộ nhớ
keep giống như drop, tuy nhiên cần phải xác định tên biến và loại quan sát cần giữ lại
clear xóa các lệnh đã nhập vào
Trang 7Ví dụ
drop if age<21
drop in 1/33
keep if age>=21
keep in 34/l
sort site
by site: keep if _n==1
clear