Phn 2 Bin Mt s quy c di
Phần 2
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 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
Ví dụ 1: dn 2012 Đổi tên biến kqkd 1= revenue, kqkd 25= profit Đổi tên các biến ts 11, ts 12, ts 201 ts 202 thành asset 11 asset 12 liab 201 liab 202 Tạo biến cost=revenue- profit Tạo biến age= 2014 -namsxkd
Biến: Nhãn biến, nhãn giá trị Thao tác với tại dòng lệnh label variable q 1 “Bạn đã lập gia đình chưa? ” label define yesno 1 “yes” 2 “no” label values q 1 yesno Nếu chúng ta muốn thêm nhãn giá trị cho biến q 1, 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 q 1, ta làm như sau: label define yesno 8 “No Responding", modify
Ví dụ 2: dn 2012 Dán nhãn cho tất cả các biến Dán nhãn giá trị cho biến lhdn
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 var 1 [var 2…. ] drop if var 1 >=15
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 giá trị Sử dụng: codebook 2 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)
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 destring 1. dta, tostring. dta Chúng ta có thể cộng 2 hay nhiều biến string được với nhau.
Ví dụ 3: dn 2012 Chuyển biến tinh, ma_thue sang dạng số, tạo biến mới province Chuyển biến madn sang dạng string, tạo biến mới id Tạo biến mới urban=“Urban” đối với 500 quan sát đầu tiên, =“Rural” cho 500 quan sát sau Encode biến urban, tạo biến mới Chuyển biến lhdn sang dạng chữ, tạo biến mới
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. 2 f 1. 52 %w. 0 g: w chiều dài của số đó int %8. 0 g byte %8. 0 g long %12. 0 g float %9. 0 g double %10. 0 g str# %#s
Ví dụ 4: dn 2012 Tính trung bình tài sản đầu năm và cuối năm Nhận xét dạng format của kết quả
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), max(x 1, x 2, …x 3) 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)
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… Toán tử Ý nghĩa == So sánh bằng != (~=) So sánh không bằng > Lớn hơn < Nhỏ hơn >= Lớn hơn hoặc bằng <= Nhỏ hơn hoặc bằng & And | Or !(~) not
egen Là hàm mở rộng của generate Cú pháp egen [type] newvar = fcn(arguments) [if] [in] [, options]
Mã hóa lại biến Chúng ta cần mã hóa lại biến. Ví dụ biến q 1 được gán với nhãn giá trị là yesno (recode). recode q 1 (1=0) (2=1) Tương với lệnh replace kết hợp với if replace q 1=0 if q 1==1 replace q 1 = 1 if q 1 == 2 Chúng ta muốn tạo ra một biến mới new và nhãn giá trị new_q 1. recode q 1 (1=0 “yes”) (2=1 “no”), pre(new) label(new_q 1)
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)
Ví dụ 5: dn 2012 Tạo biến ngành 1 số, ngành 2 số bằng cách lấy phần nguyên của nganhkd/1000
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.
Xử lý các giá trị missing và ví dụ(tiếp) Ví dụ: chúng ta muốn tính summarize (mô tả thống kê) với dữ liệu auto, ta tính mean của biến price, theo rep 78. sysuse auto summarize price if rep 78>3 kết quả bảng 1. 1 sum price if rep 78>3 & rep 78 <. Kết quả bảng 1. 2 Variable price Obs 34 Mean 6073 Std. Dev. 2315. 435 Min 3748 Max 12990 Variable price Obs 29 Mean Std. Dev. 6011. 379 2055. 312 Min 3748 Max 11995 Bảng 1. 1 Bảng 1. 2
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: var 1 -var 5 (var 1 var 2 var 3 var 4 var 5). 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.
Ví dụ 5: dn 2012 Tạo biến ngành 1 số, ngành 2 số bằng cách lấy phần nguyên của nganhkd/1000
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 case. ID = _n
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 sp 500 gen difopen = open – open[_n-1]
Mô tả thống kê Các lệnh: summarize, tabulate, tabstat, tab 1, tab 2. 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 2 chiều(cross-tabulation). Export dữ liệu
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 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
Mô tả thống kê với các biến liên tục tabstat: cung cấp cho bạn mô tả thống kê theo ý muốn của bạn.
Mô tả thống kê với các biến liên tục tabstat kết hợp với by tabstat m 4 ac 11, sta(mean sd median variance n) by ( m 4 ac 10 b) m 4 ac 10 b mean sd p 50 variance N có 16785. 07 10389. 17 15600 1. 08 e+08 716 không 11715. 51 9470. 253 9550 8. 97 e+07 384 Total 15015. 33 10359. 63 14000 1. 07 e+08 1100 Nếu bạn muốn tính thống kê với giá trị missing của biến điều kiện (q 34) thì ta chỉ cần gõ thêm lựa chọn missing như sau tabstat m 4 ac 11, sta(mean sd median variance n) by ( m 4 ac 10 b) missing Chúng ta có thể định dạng lại số liệu bằng lựa chọn format tabstat m 4 ac 11, sta(mean sd median variance n) by ( m 4 ac 10 b) format(%9. 1 f)
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] [, tabulate 1_options] tab 1 varlist [if] [in] [weight] [, tab 1_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 m 1 ac 2 if matv ==1 Chạy nhiều frequecies cùng lúc tab 1 m 1 ac 2 m 1 ac 3 m 1 ac 6
Bảng tần suất và bảng tương 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 varname 1 varname 2 [if] [in] [weight] [, options] tab 2 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
- Slides: 29