Operator logika hanya berlaku pada vektor dengan tipe logical, numeric, atau complex. Semua angka bernilai 1 akan dianggap bernilai logika TRUE. Operator logika Adalah operator yang digunakan untuk menangani tipe data boolean. Operator logika berfungsi untuk membandingkan dua operand bertipe Boolean untuk memecahkan masalah berdasarkan operator yang digunakan, dan hasil dari operasi operator ini akan menghasilkan nilai bertipe Boolean 1 (true) atau 0 (false), tetapi ada satu operator dalam macam-macam operator logika yang tidak bekerja untuk membandingkan yaitu operator dengan bentuk tanda '!', karena operator '!' hanya membutuhkan satu operand bertipe Boolean.
Simbol Keterangan
"&&"Operator logika AND
"||"Operator logika OR
"!" Operator logika NOT
"&" Operator logika AND element wise
"|" Operator logika inclusive OR
Operator logika AND digunakan untuk mengevaluasi dua ekspresi relasi sebagai operand untuk mendapatkan rasional tunggal. Operasi akan menghasilkan nilai 1 (true) jika kedua operand bernilai 1 (true) tapi jika salah satu atau keduanya bernilai 0 (false) maka akan menghasilkan nilai 0 (false). Dan di bawah ini adalah table dari perbandingan Operator logika AND.
Operator logika OR digunakan untuk menghubungkan dua atau lebih ekspresi relasi untuk mendapatkan hasil rasional tunggal, Operator || dibaca sebagai OR, akan dianggap 1 (true), bila salah satu ekspresi relasi yang dibandingkan bernilai 1 (true) dan bila semua ekspresi relasi yang dibandingkan bernilai 0 (false), maka akan bernilai 0 (false).
Operator logika NOT berfungsi membalikan nilai sebenarnya. Jika nilai yang disebutkan bernilai 1 (true) maka akan menghasilkan nilai 0 (false), begitu pula sebaliknya. Penerapannya terdapat pada sintaks berikut:
v <- c(TRUE,TRUE, FALSE)
t <- c(FALSE,FALSE,FALSE)
# Operator &&
print(v&&t)
## [1] FALSE
# Operator ||
print(v||t)
## [1] TRUE
# Operator !
print(!v)
## [1] FALSE FALSE TRUE
# operator &
print(v&t)
## [1] FALSE FALSE FALSE
# Operator |
print(v|t)
## [1] TRUE TRUE FALSE
Penting!!!
operator & dan | akan mengecek logika tiap elemen pada vektor secara berpesangan (sesuai urutan dari kiri ke kanan). Operator %% dan || hanya mengecek dari kiri ke kanan pada observasi pertama. Misal saat menggunakan && jika observasi pertama TRUE maka observasi pertama pada vektor lainnya akan dicek, namun jika observasi pertama FALSE maka proses akan segera dihentikan dan menghasilkan FALSE.