Ở phút 20:25 trong bài HƯỚNG DẪN
CẢI TIẾN FUNCTION TRONG R thì mình có nói chưa chính xác về bản chất
lệnh %in%. Để hiểu rõ hơn hoạt động của lệnh này, chúng ta
sẽ xem ví dụ sau:
## Kết quả trả về là vector logic có 3 chữ FALSE,
## vì R sẽ rà tương ứng số 0 (bên phải của biểu thức) với
## từng thành phần trong vector 6:8 (bên trái của biểu thức) để trả về kết quả so sánh.
6:8 %in% 0 ## [1] FALSE FALSE FALSE
## Kết quả trả về là vector logic CHỈ CÓ 1 chữ FALSE,
## vì R sẽ rà tương ứng các số trong vector 6:8 (bên phải của biểu thức) với
## từng số 0 (bên trái của biểu thức) để trả về kết quả so sánh.
0 %in% 6:8## [1] FALSE
## Nếu trong vector so sánh có chứa luôn số 0, thì theo logic ở trên,
## ta sẽ có kết quả logic là TRUE và các FALSE tiếp theo.
0:8 %in% 0## [1] TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Khi vector so sánh có chứa luôn số 0 ở phía bên phải của biểu thức,
## thì kết quả trả về chỉ có 1 giá trị TRUE, bởi vì lệnh %in% bản chất là lấy toàn bộ
## giá trị của vector phía bên phải biểu thức để rà cho vector phía bên trái biểu thức,
## chỉ cần có 1 giá trị giống nhau thì kết quả sẽ là TRUE tương ứng với vị trí vector bên trái biểu thức.
0 %in% 0:8## [1] TRUE
## Áp dụng quy luật này thì các bạn dễ dàng giải thích kết quả bên dưới
## và từ đó hiểu về lệnh %in% là lệnh so sánh rất mạnh trong R này.
-2:6 %in% 0## [1] FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE
0 %in% -2:6## [1] TRUE
0:3 %in% 0:8## [1] TRUE TRUE TRUE TRUE
-1:0 %in% 0:8## [1] FALSE TRUE