thể trùng lặp:
R: subset() logical-and operator for chaining conditions should be & not &&Sự khác nhau giữa các dạng toán tử AND, OR dài (&&, ||) của AND, HOẶC các toán tử logic trong R là gì?
sự khác biệt giữa ngắn (&
, |
) và dài (&&
, ||
) hình thức AND, OR toán tử logic trong R là gì?
Ví dụ:
x==0 & y==1
x==0 && y==1
x==0 | y==1
x==0 || y==1
tôi luôn luôn sử dụng các hình thức ngắn trong mã của tôi. Nó có bất kỳ điểm chấp nào không?
Có lẽ sẽ hữu ích khi thêm rằng ´ || ´and ´ && ´ được ưu tiên nếu mệnh đề chỉ khi giá trị đầu tiên được sử dụng. –
@lselzer ... vì '||' và '&&' * ngắn mạch *, tức là chúng không kiểm tra các mệnh đề tiếp theo một cách không cần thiết. tức là 'A || B || C' dừng đánh giá và trả về 'TRUE' ngay khi nó tìm thấy phần tử' TRUE', trong khi 'A && B && C' ngừng đánh giá và trả về' FALSE' ngay sau khi nó tìm thấy phần tử 'FALSE' ... đây là hữu ích trong các cấu trúc như 'if (! is.na (x) && x> 0)' ... –
@Max, một điểm tinh tế, nhưng '&&' không phải lúc nào cũng trả về 'TRUE' hoặc' FALSE'. Xem xét 'TRUE && NA', trả về' NA'. – nograpes