Tag Archives: syntax

Cách sử dụng câu lệnh cú pháp syntax với Stata

Quá trình chạy số liệu lặp đi lặp lại nhiều bước, bài đơn giản thì không nói gì, bài phức tạp việc ấn vào các menu lệnh sẽ làm mất rất nhiều thời gian của bạn. Do đó stata có cơ chế để ta viết câu lệnh syntax và lưu lại để những lần chạy sau đỡ tốn thời gian.


Màn hình của Stata syntax như sau: chỗ số 1 là command, nơi nhập các lệnh. Chỗ số 2 là file chứa các câu lệnh, còn gọi là DO FILE( lý do là file  này có đuôi là *.do).

Bài này sẽ chia 2 phần chính: phần đầu tiên là nói về các câu lệnh trong Stata, phần thứ 2 là nói về DO FILE để gom các câu lệnh đó lại và chạy DO FILE

Phần 1:  các câu lệnh Syntax trong Stata

Phần này hiển thị cấu trúc chung của các lệnh Stata. Câu lệnh syntax rất hữu ích vì bạn chỉ cần viết 1 lần và sau đó có thể chạy đi chạy lại tùy ý. Chúng ta sẽ chứng minh điều này bằng cách sử dụng lệnh summarize làm ví dụ, mặc dù cấu trúc chung này áp dụng cho hầu hết các lệnh Stata.
Đầu tiên chúng ta hãy sử dụng file số liệu auto.
sysuse auto
 

Như ảnh trên, cửa sổ command là nơi bạn gõ lệnh vào. Ví dụ bạn gõ lệnh summarize thì kết quả như sau:
summarize


Đó là ra kết quả cho tất cả các biến, chỉ muốn ra 1 vài biến nào đó thì bạn ghi cụ thể vào ví dụ:
summarize mpg price
 

Nếu bạn muốn lọc ra chỉ một số quan sát thỏa mãn điều kiện nào đó thì dùng lệnh if nhé
summarize mpg price if (foreign == 1)

Lệnh if này có thể kết hợp nhiều điều kiện cùng lúc với các toán tử : và, hoặc, không(and &, or |,not !)
summarize mpg price if foreign == 1 & mpg <30


Ngoài ra muốn thống kê cụ thể thêm các chỉ tiêu, giống như tứ phân vị, trung vị… bạn thêm tùy chọn detail
summarize mpg price if foreign == 1 & mpg <30 , detail
 

Bạn có thể cho Stata biết những số quan sát bạn muốn bằng cách sử dụng bộ lọc. Ở đây chúng ta yêu cầu tóm tắt các quan sát từ 1 đến 10. Điều này rất hữu ích nếu bạn có một tệp dữ liệu lớn và muốn thử lệnh trên một tập hợp con các quan sát.
summarize in 1/10

Ngoài ra, hãy nhớ rằng bạn có thể yêu cầu Stata thực hiện tóm tắt summarize cho các xe ô tô nước ngoài và ô tô trong nước được sử dụng riêng biệt bằng cách, như được hiển thị bên dưới.

sort foreign
by foreign: summarize make  price

Tóm tắt tất cả những phần liên quan ở trên:
Một lệnh có thể được đặt trước bằng tiền tố by, như dưới đây.
by foreign: summarize

Có nhiều phần có thể xuất hiện sau một lệnh. Chúng được trình bày riêng biệt bên dưới. Ví dụ, summarize theo sau là tên của các biến.
summarize mpg price
Lệnh summarize với việc chỉ định một loạt các dòng nào được sử dụng.
summarize in 1/10
Lệnh summarize có chỉ định điều kiện if
summarize if foreign == 1
Lệnh summarize có chỉ định điều kiện if phức tạp kết hợp
summarize if foreign == 1 & mpg > 30

Lệnh summarize theo sau là (các) tùy chọn.
summarize , detail

Vì vậy, tổng hợp tất cả lại với nhau, cú pháp chung của lệnh summarize  có thể được mô tả như sau:
[by varlist:] summarize [varlist] [in range] [if exp] , [options]
Hiểu cú pháp tổng thể của các lệnh Stata giúp bạn nhớ chúng và sử dụng chúng hiệu quả hơn, đồng thời nó cũng hỗ trợ bạn hiểu các trợ giúp trong Stata. Tất cả những lệnh như: by, if in  có thể gây nhầm lẫn. Hãy xem qua file trợ giúp để biết rõ hơn về lệnh summarize. Khi biết ý nghĩa của các phần by, if in là một thành công của bạn vì cái này cũng phức tạp như việc lập trình máy tính vậy

Phần 2: sử dụng DO FILE với Stata

Các câu lệnh ở trên có thể được gom vào 1 file DO FILE như sau:

Trước tiên chọn các lệnh chỗ số 1, và ấn chuột phải, chọn Send to Do-file Editor. Màn hình sau hiện ra:

Như vậy các lệnh đã có đầy đủ, bạn muốn chạy lệnh nào thì chọn lệnh đó và ấn vào nút Execute(do) như hình trên để bắt đầu thực thi các câu lệnh do file stata nhé. Màn hình kết quả do file stata sẽ hiện bên màn hình Stata chính.

Để sau này chạy lại các lệnh này thì bạn lưu file do này lại, xong sau này mở ra là ổn nhé.

Bạn cứ trao đổi thêm với nhóm ở đây, hoặc comment bên dưới nhé.

Liên hệ nhóm thạc sĩ Hỗ trợ Stata.

– SMS, Zalo, Viber:

phone number

– Facebook  facebook.com/hotroStata

Email  hotrostata@gmail.com