There are no products in the cart!
-
04 Tháng 01, 2022
-
2021 views
Lệnh IF trong Stata – Lệnh điều kiện để lọc dữ liệu trong 1s
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 |
& | Và |
| | 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) |
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 điều kiện để lọc dữ liệu trong 1s 1 Lệnh IF trong Stata](https://mosl.vn/wp-content/uploads/2022/01/image-48.png)
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ả:
![Lệnh IF trong Stata – Lệnh điều kiện để lọc dữ liệu trong 1s 2 image 49](https://mosl.vn/wp-content/uploads/2022/01/image-49.png)
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 column và nofreq đứ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 điều kiện để lọc dữ liệu trong 1s 3 Lệnh IF trong Stata](https://mosl.vn/wp-content/uploads/2022/01/image-50.png)
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 điều kiện để lọc dữ liệu trong 1s 4 Lệnh IF trong Stata](https://mosl.vn/wp-content/uploads/2022/01/image-51.png)
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 điều kiện để lọc dữ liệu trong 1s 5 Lệnh IF trong Stata](https://mosl.vn/wp-content/uploads/2022/01/image-52.png)
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 điều kiện để lọc dữ liệu trong 1s 6 Lệnh IF trong Stata](https://mosl.vn/wp-content/uploads/2022/01/image-53.png)
Một cách đơn giản hơn như sau:
summarize price if rep78 <= 2
![Lệnh IF trong Stata – Lệnh điều kiện để lọc dữ liệu trong 1s 7 image 54](https://mosl.vn/wp-content/uploads/2022/01/image-54.png)
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
![Lệnh IF trong Stata – Lệnh điều kiện để lọc dữ liệu trong 1s 8 image 55](https://mosl.vn/wp-content/uploads/2022/01/image-55.png)
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)
![Lệnh IF trong Stata – Lệnh điều kiện để lọc dữ liệu trong 1s 9 image 57](https://mosl.vn/wp-content/uploads/2022/01/image-57.png)
Có thể đơn giản hơn với rep78 >= 3 như sau:
summarize price if rep78 >= 3
![Lệnh IF trong Stata – Lệnh điều kiện để lọc dữ liệu trong 1s 10 image 58](https://mosl.vn/wp-content/uploads/2022/01/image-58.png)
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 điều kiện để lọc dữ liệu trong 1s 11 Lệnh IF trong Stata](https://mosl.vn/wp-content/uploads/2022/01/image-59.png)
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 điều kiện để lọc dữ liệu trong 1s 12 Lệnh IF trong Stata](https://mosl.vn/wp-content/uploads/2022/01/image-60.png)
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))
![Lệnh IF trong Stata – Lệnh điều kiện để lọc dữ liệu trong 1s 13 image 63](https://mosl.vn/wp-content/uploads/2022/01/image-63.png)
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
![Lệnh IF trong Stata – Lệnh điều kiện để lọc dữ liệu trong 1s 14 image 64](https://mosl.vn/wp-content/uploads/2022/01/image-64.png)
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
![Lệnh IF trong Stata – Lệnh điều kiện để lọc dữ liệu trong 1s 15 image 65](https://mosl.vn/wp-content/uploads/2022/01/image-65.png)
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
[su_box title=”Liên hệ: ” style=”glass” box_color=” #51d7bb “] Hotline: 0707.33.9698 hoặc Mail: sales@mosl.vn | Fanpage: Mentor Of Số Liệu – Mosl.vn . Điền thông tin để nhận tư vấn ngay Tại đây [/su_box]