Lệnh IF trong Stata – Lệnh điều kiện để lọc dữ liệu trong 1s

lệnh if trong stata
5/5 - (1 bình chọn)

Tất cả các lệnh Stata (hoặc gần như) đều có thể đi kèm với mệnh đề IF. Trong hầu hết các phần mềm thống kê hoặc data analyst thì đều sử dụng điều kiện quan trọng để tạo hoặc thay đổi dữ liệu bằng lệnh if trong stata. Ví dụ, bạn muốn tạo ra các loại hộ gia đình như một hộ gia đình sẽ thuộc loại “mẹ đơn thân” IF (nếu) có một phụ nữ duy nhất và một hoặc nhiều con. Một hộ gia đình sẽ thuộc loại “chưa kết hôn, không có con” IF (nếu) có hai người lớn khác giới tính và có không có con cái. Và như thế.

Với Stata, bạn cũng có thể thực hiện phân tích thống kê IF các điều kiện nhất định được đưa ra. Ví dụ, bạn có thể chỉ muốn tính thu nhập từ giáo dục cho các bà mẹ đơn thân hồi quy, tính số lượng nam nữ trong 1 lớp học,… Vậy để lọc dữ liệu ta sử dụng lệnh nào? Hãy xem bài viết bên dưới để hiểu và ứng dụng lun nha.

Hãy Tải Stata 14 Full Crack mới nhất năm 2022 nếu chưa tải phần mềm này về máy nhé!

1. Toán tử sử dụng với lệnh IF trong Stata

Các điều kiện sử dụng một tập hợp các “toán tử logic”, các khối xây dựng nền móng cơ bản mà chúng ta dùng để xây dựng cả các điều kiện đơn giản và nâng cao. Chúng cũng được sử dụng trong rất nhiều phần mềm khác với các toán tử quan trọng như sau:

Kí hiệuÝ nghĩa
&
|Hoặc là
==Bình đẳng (bằng)
>Lớn hơn
>=Lớn hơn hoặc bằng
<Nhỏ hơn
<=Nhỏ hơn hoặc bằng
!=Không bằng (khác)
Lệnh IF trong Stata – Toán tử sử dụng

Nắm được các kí hiệu toán tử trên các bạn đã có thể bắt đầu sử dụng lệnh IF trong Stata rồi nha, theo chân Mosl tới phần sau nhé!

Xem thêm bài viết: Hướng dẫn sử dụng Stata để mở mang kiến thức nha

2. Câu lệnh IF trong Stata – Tạo điều kiện trong 1 nốt nhạc

Hãy sử dụng tệp dữ liệu auto có sẵn trong Stata với câu lệnh gọi như sau:

sysuse auto 

Ta sẽ tập trung vào các biến price, mpg, rep78, headroom, weight, length, foreign và sử dụng lệnh keep để chỉ giữ sáu biến này.

keep price mpg rep78 headroom weight length foreign

Bây giờ hãy lập bảng để đại diện cho mpg và foreign để xem xét số dặm (mpg) của ô tô nước ngoài và trong nước (foreign).

2.1. Lệnh Tab với câu lệnh If trong Stata

Lệnh tab sử dụng lệnh IF trong Stata như sau:

tab mpg foreign

Kết quả:

Lệnh IF trong Stata
Lệnh IF trong Stata sử dụng với Tab

Giả sử chúng ta chỉ muốn tập trung vào những chiếc xe có số dặm chạy từ 15 trở lên. Chúng ta có thể sử dụng hậu tố if để làm điều này với lệnh sau:

tab mpg foreign if mpg>=15

Kết quả:

image 49
Lệnh IF trong Stata sử dụng với Tab

Hãy lập bảng trên bằng cách sử dụng các tùy chọn cột và tần số. Lệnh column yêu cầu tỷ lệ phần trăm cột trong khi lệnh nofreq loại bỏ tần số ô.

Lưu ý rằng 2 lệnh columnnofreq đứng sau dấu phẩy. Đây là các tùy chọn trên lệnh lập bảng và các tùy chọn cần được đặt sau dấu phẩy.

Lệnh: tab mpg foreign if mpg>=15, column nofreq

Kết quả:

Lệnh IF trong Stata
Lệnh IF trong Stata sử dụng với Tab

2.2. Lệnh List với If trong Stata

Việc sử dụng if không bị giới hạn trong lệnh lập bảng. Ở đây, Mosl sử dụng nó với lệnh danh sách với lệnh:

list if mpg >= 15
Lệnh IF trong Stata
Lệnh IF trong Stata sử dụng với List

Có thể thấy các giá trị của số dặm mpg đều được phần mềm Stata trả ra kết quả lớn hơn 15 tương ứng với các biến khác trong dữ liệu cũng được biểu diễn.

Funfact: Bạn có thấy rằng một số quan sát có giá trị là ‘.’ cho rep78? Đây là những giá trị bị thiếu hay còn gọi là giá trị missing. Stata coi một giá trị bị thiếu là vô cùng dương là 1 số cao nhất có thể. Vì vậy, nếu bạn sử dụng lệnh list if rep78>= 2, Stata đã bao gồm các quan sát trong đó rep78 là ‘. ‘.

Từ bảng trên nếu các bạn muốn chỉ bao gồm các quan sát hợp lệ (không bị thiếu) của biến rep78 lớn hơn hoặc bằng 2. Ta có thể làm như sau để cho Stata biết rằng chúng ta chỉ muốn các quan sát trong đó rep78>= 2 và không chứa các rep78 bị thiếu (missing).

list if rep78 >= 2  &  !missing(rep78) 

Kết quả như sau:

Lệnh IF trong Stata
Lệnh IF trong Stata sử dụng với List

Code tương tự code ở trên như sau:

list if rep78 >= 2 & rep78 != .

Có thể thấy không còn giá trị missing nào biến rep78 nữa rồi nhé!

2.3. Lệnh Sumarize với If trong Stata

Chúng ta có thể sử dụng if với hầu hết các lệnh Stata. Tại đây, bạn muốn nhận được số liệu thống kê tóm tắt về giá của những chiếc ô tô có lịch sử sửa chữa là 1 hoặc 2. Lưu ý rằng dấu kép bằng (==) đại diện cho IS EQUAL TO và dấu hoặc (|) đại diện cho OR.

summarize price if rep78 == 1 | rep78 == 2
Lệnh IF trong Stata
Lệnh IF trong Stata sử dụng với Sum

Một cách đơn giản hơn như sau:

summarize price if rep78 <= 2 
image 54
Lệnh IF trong Stata sử dụng với Sum

Tương tự như vậy, bạn có thể thực hiện việc này đối với giá (price) của những xe có lịch sử sửa chữa là 3, 4 hoặc 5.

summarize price if rep78 == 3 | rep78 == 4 | rep78 == 5 
image 55
Lệnh IF trong Stata sử dụng với Sum

Ngoài ra, ta có thể sử dụng code này để chỉ định một loạt các giá trị. Đây là bản tóm tắt giá cho các giá trị từ 3 đến 5 trong rep78 của giá (price).

summarize price if inrange(rep78,3,5)
image 57
Lệnh IF trong Stata sử dụng với Sum

Có thể đơn giản hơn với rep78 >= 3 như sau:

summarize price if rep78 >= 3 
image 58
Lệnh IF trong Stata sử dụng với Sum

Bạn có thấy có gì đó sai sai không? Ta đã vô tình thống kê bao gồm các giá trị bị thiếu vì ta quên loại trừ chúng. Sử dụng code sau để khắc phục điều này.

summarize price if rep78 >= 3 & !missing(rep78) 
Lệnh IF trong Stata
Lệnh IF trong Stata sử dụng với Sum

2.4. Lệnh If trong vẽ đồ thị Graph trong Stata

If rất hữu ích khi chúng ta tạo đồ thị, đặc biệt là với lệnh twoway, vì khi chúng ta sử dụng lệnh này thì có thể dễ dàng thêm các lớp đồ thị khác nhau lên trên nhau. Mỗi lớp có thể có tập hợp các điều kiện riêng cho các quan sát được bao gồm trong lớp, nhưng chúng tôi cũng có thể tạo nếu các giá trị định tính được áp dụng cho toàn bộ biểu đồ.

Trong biểu đồ dưới đây, Mosl trình bày mối quan hệ giữa số dặm (mpg) và lịch sử sửa chữa của xe (rep78) khi ở trong nước và ngoài nước (foreign)

twoway (scatter mpg rep78 if foreign ==1 | foreign ==0)

Kết quả như sau:

Lệnh IF trong Stata
Lệnh IF trong Stata sử dụng với Vẽ đồ thị

Tương tự có thể trình bày biểu đồ về giá và dặm của xe khi ở trong nước (foreign=1) và ngoài nước (foreign=0) cùng với code biểu đồ bên dưới:

twoway (scatter price mpg if foreign ==1, mcolor(blue)) (scatter price mpg if foreign ==0, mcolor(red))

image 63
Lệnh IF trong Stata sử dụng với Vẽ đồ thị

Kết quả trả về với 2 giá trị đỏ là ngoài nước với foreign=0 và xanh là trong nước foreign=1 với giúp bạn dễ nhận ra và phân tích cho biểu đồ.

Nếu chưa biết cách vẽ đồ thị trong Stata truy cập ngay nhé!

2.5. Hồi quy với lệnh If trong Stata

Nếu các giá trị If có thể được sử dụng trong phân tích hồi quy (hoặc các loại phân tích khác) để chạy phân tích trong một nhóm nhỏ cụ thể hoặc để loại bỏ một số ngoại lệ nhất định.

Trước tiên, ta có thể thử chạy một phân tích hồi quy về mối quan hệ giữa giá với số dặm, số lần sửa,… và trong nước ngoài nước.

reg price mpg rep78 headroom weight length foreign if rep78==4

image 64
Lệnh IF trong Stata sử dụng với Hồi quy mô hình

Sau đó bạn có thể chạy mô hình với điều kiện là trong nước foreign =1 như sau nhé!

reg price mpg rep78 headroom weight length foreign if foreign==1


image 65
Lệnh IF trong Stata sử dụng với Hồi quy mô hình

Tham khảo bài viết hồi quy mô hình OLS trong Stata cùng cách đọc kết quả hồi quy lun nha.

3. Tổng kết

MOSL đã cung cấp đến bạn chi tiết cách mà lệnh If được sử dụng trong các câu lệnh trong phần mềm Stata, hy vọng bạn sẽ chia sẽ và áp dụng trong quá trình nghiên cứu của mình.

Mosl xin chúc các bạn học tập và làm việc hiệu quả!

Xem thêm: Dịch vụ Stata của Mosl.vn

Facebook
LinkedIn
Twitter
Tumblr
Pinterest

BÀI VIẾT XEM NHIỀU CÙNG CHỦ ĐỀ

Tấn Đăng

Tấn Đăng

Chào bạn, tôi là Đăng hiện là 1 trong những Founder của Mosl.vn. Tôi hiện nay đã có hơn 5 năm kinh nghiệm trong quá trình thực hiện các nghiên cứu khoa học và xử lý đa dạng các phần mềm phân tích dữ liệu. Với kiến thức có được tôi hy vọng sẽ cung cấp đến bạn các thông tin bổ ích và giúp bạn hoàn thành bài nghiên cứu một cách tốt nhất. Tôi xin chúc các bạn học tập và làm việc hiệu quả!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *