Aritmatika mempunyai atau mengandung ekspresi lojik yang sangat berguna di dalam pemrograman dan dalam pemilihan sebuah variabel. Jika aritmatika logika tidak familiar buat kamu, maka lanjutin aja belajarnya melalui tutorial ini, karena ini akan menjadi sangat jelas begitu useful nya aritmatika logika ini. Kunci untuk memahami ini adalah menentukan mana benar mana salah. atau biasa disebut true atau false. Di dalam bahasa R sendiri disebut dengan TRUE atau FALSE dan kemudian TRUE atau FALSE ini bisa disesuaikan lagi oleh R menjadi angka yaitu 1 untuk TRUE dan 0 untuk FALSE.

Contohnya misalkan kita punya X, dan dimana X kita bandingkan dengan angka antara 0 sampai 6. maka jika kita coba di dalam R maka :

x<- 0:6

Nilai X sudah kita deklarasikan di atas. tinggal sekarang kita tanya. apakah X kurang dari 4?

x<4
## [1]  TRUE  TRUE  TRUE  TRUE FALSE FALSE FALSE

jawabannya adalah “iya” untuk nilai 0, 1, 2, dan 3 dan “tidak” untuk 4,5, dan 6.

lagi. Dua fungsi logikal yang penting adalah all dan any. mereka akan mengecek seluruh vektor tapi nilai kembaliannya sebagai nilai lojik tunggal TRUE atau FALSE. apakah “all” nilai x lebih dari 0?

all(x>0)
## [1] FALSE

jawabannya “tidak”. nilai x yang pertama adalah 0. apakah “any” nilai x negatif?

any(x<0)
## [1] FALSE

“tidak”. nilai terkecil dari x adalah 0.

kita dan menggunakan jawaban dari fungsi logika di dalam aritmatika. kita bisa menghitung nilai (x<4), menggunakan sum :

sum(x<4)
## [1] 4

kita dapat mengalikan (x<4) dengan vektor lain:

(x<4)*runif(7)
## [1] 0.2889204 0.8934534 0.4419222 0.4294568 0.0000000 0.0000000 0.0000000

Aritmatika logika itu useful banget khususnya men-generate level-level penyederhanaan faktor dalam pemodelan statistika. misalnya kita ingin me-reduce sebuah faktor lima level (a,b,c,d,e) disebut treatment menjadi faktor tiga level disebut t2 dengan mencampur bersama level a dan e (faktor baru level 1) dan c dan d (faktor baru level 3) sementara melepas perbedaan b(dengan faktor baru level 2) :

(treatment <- letters[1:5])
## [1] "a" "b" "c" "d" "e"
(t2 <- factor(1+(treatment=="b")+2*(treatment=="c")+2*(treatment=="d")))
## [1] 1 2 3 3 1
## Levels: 1 2 3

faktor baru t2 mendapatkan sebuah nilai 1 sebagai default untuk semua level faktor, dan kita ingin meninggalkan level a dan e. Jadi, kita tidak menambahkan apa pun ke 1 jika tingkat faktor lama adalah a atau e. Untuk faktor lama level b, namun, kita ingin hasil t2=2 jadi kita tambahakn 1 (treatment==“b”) ke yang asli 1 untuk mendapatkan jawaban yang kita butuhkan. Ini berfungsi karena ekspresi logika mengevaluasi ke 1 (TRUE) untuk setiap kasus di mana yang lama tingkat faktor adalah b dan ke 0 (SALAH) dalam semua kasus lainnya. Untuk tingkat faktor lama c dan d kita menginginkan hasil bahwa t2=3 jadi kita tambahkan 2 ke nilai dasar 1 jika tingkat faktor aslinya adalah c (2(treatment==“c”)) atau d (2(treatment==“d”)). Kamu mungkin perlu baca ini berulangkali untuk sampai paham.

Ingat bahwa ‘persamaan logika’ adalah tanda sama dengan ganda tanpa spasi di antara (==). kamu perlu memahami perbedaan antara: x <- y x = y x == kamu x diberi nilai y (x mendapat nilai y);