1 / 51

GiỚI THIỆU PHẦN MỀM XỬ LÝ SỐ LIỆU STATA

GiỚI THIỆU PHẦN MỀM XỬ LÝ SỐ LIỆU STATA. TRUNG TÂM NGHIÊN CỨU CHÍNH SÁCH VÀ PHÁT TRIỂN. Quản lý số liệu trong Stata Log file. Sử dụng log file: Nếu bạn muốn ghi lại tất cả những gì bạn làm? Chúng ta sử dụng log file. Logfile chứa các câu lệnh và bảng kết quả, không chứa biểu đồ, đồ thị.

sylvie
Download Presentation

GiỚI THIỆU PHẦN MỀM XỬ LÝ SỐ LIỆU STATA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. GiỚI THIỆU PHẦN MỀM XỬ LÝ SỐ LIỆU STATA TRUNG TÂM NGHIÊN CỨU CHÍNH SÁCH VÀ PHÁT TRIỂN

  2. QuảnlýsốliệutrongStataLog file • Sử dụng log file: • Nếu bạn muốn ghi lại tất cả những gì bạn làm? • Chúng ta sử dụng log file. • Logfile chứa các câu lệnh và bảng kết quả, không chứa biểu đồ, đồ thị. • Để mở một log file: Từ menu vào File – Log – Begin hoặc gõ trực tiếp log using ten_log tại dòng lệnh. • log using filename [, append replace [text|smcl]] • Đuôi mở rộng của log file: .log; .smcl; .doc • Đóng logfile sử dụng câu lệnh • log close

  3. Quản lý số liệu trong StataTạo dataset • Mộtvàicâulệnhtrongphầnnày: use, browse, edit, format, generate, list, merge, append, replace, save, set, sort, tabulate, label, keep, drop. • Tạomột dataset: • set obs #: tạomột dataset mớivớisố # quansátvàchưacóbấtkỳbiếnnào.  dùnglệnhtạobiến generate. • Tạomới: gõ edit tạidònglệnh (ctrl + 7) hoặc Window  data editor.  Cúpháp: edit [varlist] [if] [in] [, nolabel] • Mở dataset: • Mởmột data hệthống: sysuseTen_data_hethong • File đãcósẵn (File  Open) hoặcdùnglệnh (use, clear) • Sửdụng dataset trênmạng: webuse • Lưu dataset với save vàsaveold (dùngchocác version 8,9) • save [filename] [, save_options] • Xemdữliệu (browser) • browse [varlist] [if] [in] [, nolabel]

  4. Quản lý số liệu trong StataTạo dataset • sysuse auto (sử dụng một số dữ liệu sẵn có trong Stata) • Chúng ta có thể xem các số liệu: File Example datasets

  5. Quản lý số liệu trong StataTạo dataset • Sử dụng dataset trên mạng webuse lifeexp : Sử dụng lifeexp được lưu tại http://www.stata-press.com/data/r10

  6. Quản lý số liệu trong StataImport dữ liệu • Sử dụng StatTransfer • Sử dụng câu lệnh insheet • Sử dụng câu lênh odbc

  7. Quản lý số liệu trong Stata StatTransfer

  8. Quản lý số liệu trong Statainsheet • Đọc các file dữ liệu từ định dạng text bằng insheet insheet [varlist] using filename [, options] Một số options: • [no] double: xác định kiểu dữ liệu double (mặc định), nếu không có thì kiểu dữ liệu sẽ là float. • tab: Các giá trị trong số liệu cách nhau bởi tab • comma: Các giá trị cách nhau bởi dấu phẩy • delimiter( “char”): Chúng ta có thể xác định kí tự trong số liệu • clear: xóa số liệu trong bộ nhớ • [no] names: mặc định tên biến là dòng đầu tiên. Nếu bạn xác định no thì ngược lại

  9. Quản lý số liệu trong Stata insheet (tiếp) • Để biết được loại file dữ liệu định dạng theo cách nào  gõ type “tên_file” Ví dụ: type “đường_dẫn_fem.dat”  Xem dữ liệu theo định dạng loại gì insheet using "E:\ebook\stata\Lecture\Data example\Handbook of Stata\fem.dat“, tab • Từ menu: File  Import  ASCII data created by a sheet

  10. Quản lý số liệu trong Stata odbc • Các bạn sử dụng câu lệnh odbc cho excel odbc load, dsn("Excel Files;DBQ=d:\Book1.xls") table("Sheet1$") • File  Import  ODBC data source  chọn MS excel (chọn đường dẫn đến file excel)

  11. Quản lý số liệu trong Stata (tiếp)Biến • Một số quy ước: độ dài tối đa của biến là 32 kí tự, nhãn để mô tả biến có độ dài tối đa là 224 kí tự. • Tạo biến (generate) • Gán label và value label cho biến?

  12. Quản lý số liệu trong Stata (tiếp)Biến • Có 2 cách gán giá trị và label của biến • Dùng menu • Dùng giao diện dòng lệnh

  13. Quản lý số liệu trong Stata (tiếp)Biến (dùng menu) • generate q1=. (Tạo ra biến q1 và gán cho biến q1 giá trị missing ) • Gán nhãn cho biến: Data Labels  Label variable

  14. Quản lý số liệu trong Stata (tiếp)Biến (dùng menu) • Định nghĩa một nhãn giá trị: Data  Labels Label values  Define or modify value labels

  15. Quản lý số liệu trong Stata (tiếp)Biến(dùng menu) • Bây giờ, khi đã định nghĩa một tên nhãn giá trị (yesno), chúng ta phải gán cho một biến nào đó? (q1) • Vào Data  Labels Label Values  Assign value label to variable

  16. Quản lý số liệu trong Stata (tiếp)Biến( giao diện dòng lệnh) • Thao tác với tại dòng lệnh label variable q1 “Bạn đã lập gia đình chưa?” label define yesno 1 “yes” 2 “no” label values q1 yesno • Nếu chúng ta muốn thêm nhãn giá trị cho biến q1, ta làm như sau: label define yesno 8 “don’t know”,add • Nếu chúng ta chỉnh sửa nhãn giá trị cho biến q1, ta làm như sau: label define yesno 8 “No Responding", modify

  17. Quản lý số liệu trong Stata (tiếp)Một số thao tác trên biến • Mô tả cấu trúc dữ liệu hoặc biến ? (describe) des varlist • Để đổi tên biến: rename old_var new_var. • Muốn xóa một biến trong Stata? (drop hoặc keep) Ngược lại với drop là keep drop var1 [var2….] drop if var1 >=15

  18. Quản lý số liệu trong Stata (tiếp)Cấu trúc của file dữ liệu • Một ai đó đưa cho chúng ta một dữ liệu mà không có bảng hỏi, chúng ta muốn kiểm tra cấu trúc dữ liệu, các khoảng giá trị của biến, các nhãn của biến, các nhãn của giá trị • Sử dụng: • codebook2 hoặc codebook: hiển thị codebook cửa dữ liệu • describe: mô tả số liệu hoặc mô tả biến như đã giới thiệu ở trên • list: dùng để hiển thị giá trị của biến trên màn hình kết quả (thường kết hợp với if, in)

  19. Quản lý số liệu trong Stata (tiếp)Chuyển biến kiểu số sang chuỗi và ngược lại • destring: chuyển biến kiểu chuỗi (kí tự) sang biến kiểu số destring [varlist] , {generate(newvarlist)|replace} [destring_options] • tostring: chuyển biến kiểu số sang kiểu chuỗi tostring varlist , {generate(newvarlist)|replace} [tostring_options] • Ví dụ: sử dụng số liệu destring1.dta, tostring.dta • Chúng ta có thể cộng 2 hay nhiều biến string được với nhau.

  20. Quản lý số liệu trong Stata (tiếp)Hàm định dạng - format • Cú pháp: format varlist %fmt Với %fmt: • %w.df: w là chiều dài của số đó, d là số chữ số sau phần thập phân ví dụ: 1.5235 nếu định dạng %8.2f  1.52 • %w.0g: w chiều dài của số đó • int %8.0g • byte %8.0g • long %12.0g • float %9.0g • double %10.0g • str# %#s Ví dụ: sử dụng số liệu auto sysuse auto format length %9.0g

  21. Quản lý số liệu trong Stata (tiếp)Hàm toán học và Toán tử • Chúng ta muốn tính toán, hiển thị kết quả như một máy tính: display • Các hàm toán học: mod(x,y), sign(x), max(x1,x2, …x3) • Ví dụ: Muốn lấy phần dư của 5 chia cho 2 display mod(5,2)  kết quả bằng 1 • Kết hợp lệnh gen với các hàm toán học ví dụ: gen phandu = mod(5,2)

  22. Quản lý số liệu trong Stata (tiếp) Hàm toán học và Toán tử • Trước tiên, chúng phải biết các toán tử so sánh và toán tử logic và các phép cộng, trừ, nhân…

  23. Quản lý số liệu trong Stata (tiếp)if và in • Cú pháp lệnh if if biểu_thức Ví dụ: Số liệu “stock 2 final.dta”. summarize q1 if q34 ==1 • Chúng ta có thể kết hợp các toán tử với lệnh generate và replace. Ví dụ: gen var1 = 3^2 * 5 và replace var1 = 1 if var1 ==.

  24. Quản lý số liệu trong Stata (tiếp)if và in • Cú pháp: cau_lenh in khoang • Khoảng: #: Hiển thị giá trị của biến thứ # #/#: từ vị trị nào đến vị trí nào f/#: từ vị trí đầu tiên đến vị trí # #/l(last): từ vị trí # đến cuối • Ví dụ: list q1 1/10  hiển thị giá trị của q1 từ vị trí 1 đến 10

  25. Quản lý số liệu trong Stata (tiếp)egen • Là hàm mở rộng của generate • Cú pháp egen [type] newvar = fcn(arguments) [if] [in] [, options] • Ví dụ: Tính tổng thu nhập ngoài tiền công, lương từ câu 12a đến câu 12e (muc4a.dta)  Bạn dùng help egen tại dòng lệnh để tìm hiểu thêm các option của lệnh egen.

  26. Quản lý số liệu trong Stata (tiếp)Mã hóa lại biến • Chúng ta cần mã hóa lại biến. Ví dụ biến q1 được gán với nhãn giá trị là yesno (recode). recode q1 (1=0) (2=1) Tương với lệnh replace kết hợp với if replace q1=0 if q1==1 replace q1 = 1 if q1 == 2 • Chúng ta muốn tạo ra một biến mới new và nhãn giá trị new_q1. recode q1 (1=0 “yes”) (2=1 “no”), pre(new) label(new_q1)

  27. Quản lý số liệu trong Stata (tiếp)Mã hóa lại biến • Một câu hỏi đặt ra là chúng ta muốn recode biến theo khoảng giá trị của biến đó? ta làm như thế nào? • Ví dụ biến tuổi (age): 0 – 17: 1  Dưới độ tuổi lao động; 18-65:2  Độ tuổi lao động; 67 trở đi: 3  Ngoài độ tuổi lao động; và tạo ra một biến mới là newage và nhãn giá trị new_age recode age (0/17 = 1 “Dưới độ tuổi lao động”) (18/65=2 “Độ tuổi lao động”) (65/105 = 3 “Ngoài độ tuổi lao động”), pre(newage) label(new_age)

  28. Quản lý số liệu trong Stata (tiếp)Mã hóa lại biến (Bài tập) • Dùng số liệu VHLSS06 (phần thông tin chung) muc1a.dta • Câu hỏi: • Tính tuổi thành viên(indage) từ năm sinh • Giới tính của chủ hộ (hhsex) • Tổng số con (hhchild) của chủ hộ

  29. Quản lý số liệu trong Stata (tiếp)Quản lý bộ nhớ • Mặc định Stata thiết lập bộ nhớ là 10MB, nhưng nếu dữ liệu của bạn lớn hơn 10MB thì sao? (set mem kich_cỡ) – set mem 120m. • Muốn màn hình kết quả hiển thị tất cả kết quả mà không có more? set more off  Câu lệnh này rất được hay dùng trong dofile.

  30. Quản lý số liệu trong Stata (tiếp)Một số ép kiểu dữ liệu • Hàm int(), float(), string(). chúng ta muốn ép từ kiểu dữ liệu này sang kiểu dữ liệu khác  Vậy nó khác gì với các hàm chuyển kiểu như destring() và tostring()? Ví dụ: display int(3.45)  kết quả sẽ là 3 • Khoảng biến: var1-var5 (var1 var2 var3 var4 var5). • Bạn cũng có thể dùng các kí tự ?, * để thay thế cho các kí tự; ví dụ: var* - sẽ tìm tất cả các biến bắt đầu bằng var.

  31. Quản lý số liệu trong Stata (tiếp)Nối số liệu • Nối 2 hay nhiều file dữ liệu stata (append hoặc merge). • Nối 2 số liệu theo observation (case) ta sử dụng append. • Nối 2 số liệu theo biến ta sử dụng merge (chú ý khi trước khi sử dụng lệnh merge thì cả 2 số liệu phải được sắp xếp – lệnh sort).

  32. Quản lý số liệu trong Stata (tiếp)Nối số liệu (append) • Cú pháp: append using filename [, options] options: keep(varlist)  Chúng ta có thể chỉ nối một số biến cụ thể từ số liệu using được xác định trong varlist, nếu không có xác định keep thì mặc định là tất cả các biến sẽ được nối. • Sử dụng 2 số liệu even.dta và odd.dta use Đường_dẫn_đến số liệu odd.dta append using Đường_dẫn_đến_số_liệu even.dta list  Hiển thị kết quả sau khi nối.

  33. Quản lý số liệu trong Stata (tiếp)Nối số liệu • Trong lệnh merge số liệu master là trong bộ nhớ, còn số liệu using là dữ liệu để merge vào. merge [varlist] using filename [filename ...] [, options] • Mặc định tạo ra biến _merge nhận 3 giá trị • 1 Quan sát chỉ có trong số liệu master • 2 Quan sát chỉ có trong số liệu using • 3 Quan sát có cả trong master và using • Merge bạn có thể quan hệ 1-1, 1-nhiều, nhiều nhiều

  34. Quản lý số liệu trong Stata (tiếp)Nối số liệu • Ví dụ 1: nối 1-1, trước khi nối ta phải sort số liệu trước. Chúng ta vẫn sử dụng 2 số liệu even.dta và odd.dta use “Đường_dẫn_chứa_file_even.dta”,clear merge using “Đường_dẫn_chứa_file_odd.dta” Ở đây, file even.dta là master file, còn file odd.dta là using file • Ví dụ 2: sử dụng biến để nối ( thường là biến id) use “Đường_dẫn_chứa_file_even.dta”,clear sort number // sắp số liệu theo chiều tăng dần của biến number save, replace // lưu và thay số liệu trong file use “Đường_dẫn_chứa_file_odd2.dta”,clear  là số liệu master. sort number // sắp số liệu theo chiều tăng dần của biến number merge number using “Đường_dẫn_chứa_file_even.dta”

  35. Quản lý số liệu trong Stata (tiếp)Nối số liệu • Ví dụ 3: merge 2 số liệu province và merge province (master).  chúng ta sẽ nối theo biến procode.

  36. Quản lý số liệu trong Stata (tiếp)Tạo số ngẫu nhiên • Tạo dữ liệu ngẫu nhiên và mẫu ngẫu nhiên. • Một số hàm: • uniform() tạo số ngẫu nhiên trong khoảng (0,1). • set obs rownum: thiết lập số observation cho một dữ liệu • set seed số_bất_kỳ: có tác dụng biết số ngẫu nhiên đó lần sau. • sample: lấy số liệu ngẫu nhiên từ dữ liệu sẵn có. sample có 2 dạng là chọn theo %; sample n(phần trăm) và chọn theo số lượng; sample n, count

  37. Quản lý số liệu trong Stata (tiếp)Sử dụng biến hệ thống • Khi số liệu đã có trong bộ nhớ thì _N đại diện cho tổng số quan sát • _n đại diện cho quan sát số: _n=1 quan sát thứ nhất, _n=2 cho quan sát thứ hai, đến _n=_N cho quan sát cuối cùng. • Chúng ta có thể ứng dụng _n để tạo chỉ mục. gen caseID = _n

  38. Quản lý số liệu trong Stata (tiếp) Sử dụng biến hệ thống • Trong stata còn cho phép hiển thị dữ liệu của một ô cụ thể trong dữ liệu. • Biến hệ thống _n còn có ứng dụng trong dữ liệu dạng series. Nếu chúng ta có dữ liệu hàng ngày về giá của một cổ phiếu cụ thể trên thị trường chứng khoán với tên biến là open. Như vậy, chúng ta muốn tính giao động giá của ngày hôm sau so với hôm trước: sysuse sp500 gen difopen = open – open[_n-1]

  39. Bài tập • Lưu lại nhật kí làm việc của mình • Thêm nhãn, nhãn giá trị trong bảng hỏi VHLSS2006 phần số liệu muc4a (thu nhập) cho các câu m4ac1a, m4ac1b, m4ac1c, m4ac2, m4ac3, m4ac10b. Từ đó tính tổng thu nhập (câu 11 + câu 12f + câu 21 + câu 22f + câu 25 trong bảng hỏi) • Sử dụng số liệu muc1a, tạo một biến reg8 (phân thành 8 vùng) từ tỉnh; 1 "Red River Delta" 2 "North East" 3 "North West" 4 "North Central Coast“ 5 "South Central Coast" 6 "Central Highlands" 7 "South East" 8 "Mekong River Delta"

  40. Mô tả thống kê • Các lệnh: summarize, tabulate, tabstat,tab1, tab2. • Mô tả thống kê với các biến liên tục. • Xử lý các giá trị missing và ví dụ. • Bảng tần suất và bảng tương quan quan 2 chiều(cross-tabulation). • Export dữ liệu

  41. Mô tả thống kê với các biến liên tục • Để mô tả thống kê với biến liên tục ta sử dụng lệnh nào trong Stata?  summarize • Trong lệnh summarize: chỉ tính bị các observation không có missing. Sẽ loại bỏ các observation có giá trị missing. • bysort kết hợp với summarize. Để tính summarize và tách theo biến rời rạc. • summarize kết hợp với if

  42. Mô tả thống kê với các biến liên tục (tiếp) • Ví dụ: muc4a.dta, tính tổng thu nhập trung bình, theo ngành nghề làm việc (câu 10a) Kết hợp bysort với sum bysort m4ac10a: sum tongTN  Chia theo ngành nghề Kết hợp if với sum sum tongTN if m4ac10a ==4 & m4ac10b==1  Mô tả tongTN theo kinh tế NN và là cán bộ công chức sum tongTN if m4ac10a ==6  Mô tả tongTN theo kinh tế tư nhân

  43. Mô tả thống kê với các biến liên tục (tiếp) • tabstat: cung cấp cho bạn mô tả thống kê theo ý muốn của bạn. Từ ví dụ trước: ta muốn hiển thị mean, sd, median, variance, n tabstat m4ac11, sta(mean sd median variance n)

  44. Mô tả thống kê với các biến liên tục (tiếp) • tabstat kết hợp với by tabstat m4ac11, sta(mean sd median variance n) by ( m4ac10b) • Nếu bạn muốn tính thống kê với giá trị missing của biến điều kiện (q34) thì ta chỉ cần gõ thêm lựa chọn missing như sau • tabstat m4ac11, sta(mean sd median variance n) by ( m4ac10b) missing • Chúng ta có thể định dạng lại số liệu bằng lựa chọn format tabstat m4ac11, sta(mean sd median variance n) by ( m4ac10b) format(%9.1f)

  45. Xử lý các giá trị missing và ví dụ • Có 27 giá trị missing có thể có trong Stata, mặc định giá trị missing là dấu chấm(.) • Còn lại là 26 giá trị missing trùng với 26 kí tự trong bảng chữ cái nhưng có dấu chấm ở đằng trước(.a, .b, .c,…..). • Các giá trị missing trong Stata được coi như các số vô cùng lớn.

  46. Xử lý các giá trị missing và ví dụ(tiếp) • Ví dụ: chúng ta muốn tính tính summarize (mô tả thống kê) với dữ liệu auto, ta tính mean của biến price, theo rep78. Bảng 1.1 Bảng 1.2

  47. Bảng tần suất 1 chiều • Để mô tả các biến rời rạc • Cú pháp: có 2 câu lệnh cho chúng ta lựa chọn tabulate varname [if] [in] [weight] [, tabulate1_options] tab1 varlist [if] [in] [weight] [, tab1_options]  chạy cùng một lúc nhiều biến Ví dụ: tính frequencies giới tính của chủ hộ tabulate m1ac2 if matv ==1  Chạy nhiều frequecies cùng lúc tab1 m1ac2 m1ac3 m1ac6

  48. Bảng tần suất và bảng tương quan quan 2 chiều(cross-tabulation) • Sử dụng bảng tần suất và bảng tương quan 2 chiều với tabulate. • Cú pháp: có 2 lựa chọn tabulate varname1 varname2 [if] [in] [weight] [, options] tab2 varlist [if] [in] [weight] [, options]  tính tần suất 2 chiều theo cách khác • Mô tả thống kê theo bảng của Mean, Median, và các đại lượng thống kê khác • Ví dụ: tabulate var, sum(varlist)  Tương tự như tabstat kết hợp với by • Với var là biến rời rạc, varlist là biến liên tục

  49. Môtảthôngkê (tiếp)Export dữliệu • Dùng outsheet tabout để export dữ liệu ra các định dạng khác nhau như excel từ số liệu gốc. outsheet [varlist] using filename [if] [in] [, options] • Ví dụ keep make price mpg rep78 foreign keep 1/10 outsheet make price mpg re78 foreign using “D:\test.xls”, delimiter(“;")

  50. Môtảthôngkê (tiếp)Export dữliệu • tabform export dữ liệu bằng cách tính mean, sd, ci tabform varlist using filename [if] [in] [aw fw], [ by(varname) sd se ci level (#) nototal bdec(#) sdbracket cibrace mte st mtprob mtse mtbdec vertical ] • Ví dụ: tabform price mpg trunk weight using "D:\test.xls", by(foreign) sd ci level(90) bdec(2) sdbracket cibrace

More Related