Logika Tervektorisasi Bagian 1
Termasuk bagian Dasar-Dasar dalam perjalanan R di Coddy. Pelajaran 20 dari 78.
R memiliki dua versi operator AND dan OR. Kamu telah mempelajari && dan ||, yang bekerja dengan nilai tunggal. Sekarang, mari kita pelajari pasangan vektorisasi masing-masing: & dan | (simbol tunggal).
Perbedaan utamanya adalah & dan | membandingkan nilai elemen demi elemen saat bekerja dengan beberapa nilai:
a <- c(TRUE, TRUE, FALSE, FALSE)
b <- c(TRUE, FALSE, TRUE, FALSE)
a & b # TRUE FALSE FALSE FALSE
a | b # TRUE TRUE TRUE FALSESetiap posisi dibandingkan secara terpisah. Pada posisi pertama, a dan b sama-sama TRUE, jadi a & b menghasilkan TRUE. Pada posisi kedua, a bernilai TRUE, tetapi b bernilai FALSE, jadi a & b menghasilkan FALSE.
Ini menjadi lebih berguna saat digabungkan dengan operator perbandingan:
scores <- c(85, 42, 91, 67, 55)
# Periksa nilai dalam scores yang berada di antara 50 dan 80
scores >= 50 & scores <= 80 # FALSE FALSE FALSE TRUE TRUEHasilnya adalah vektor nilai logis yang menunjukkan elemen mana yang memenuhi kedua kondisi. Perilaku elemen demi elemen ini penting untuk memfilter dan menganalisis data di R.
Tantangan
MudahGunakan operator AND (&) dan OR (|) yang tervectorisasi untuk melakukan perbandingan elemen demi elemen pada vector.
Kamu diberikan vector berikut:
temperatures <- c(18, 25, 32, 15, 28, 35, 22)
humidity <- c(45, 80, 60, 30, 75, 85, 50)Gunakan operator logika yang tervectorisasi untuk membuat vector logika berikut:
- Buat vector bernama
comfortable_tempyang menyimpanTRUEuntuk setiap suhu yang lebih besar dari atau sama dengan 20 DAN lebih kecil dari atau sama dengan 30 - Buat vector bernama
high_humidityyang menyimpanTRUEuntuk setiap nilai kelembapan yang lebih besar dari 70 - Buat vector bernama
pleasant_dayyang menyimpanTRUEuntuk setiap hari ketika suhu berada di antara 20 dan 30 (inklusif) DAN kelembapan kurang dari atau sama dengan 60 - Buat vector bernama
extreme_weatheryang menyimpanTRUEuntuk setiap hari ketika suhu lebih besar dari 30 ATAU kelembapan lebih besar dari 80 - Buat vector bernama
stay_insideyang menyimpanTRUEuntuk setiap hari ketika suhu kurang dari 18 ATAU (suhu lebih besar dari 30 DAN kelembapan lebih besar dari 70)
Gunakan fungsi print() untuk menampilkan comfortable_temp, high_humidity, pleasant_day, extreme_weather, dan stay_inside dalam urutan yang persis sama.
Coba sendiri
# Vektor yang disediakan
temperatures <- c(18, 25, 32, 15, 28, 35, 22)
humidity <- c(45, 80, 60, 30, 75, 85, 50)
# TODO: Tulis kodemu di bawah ini
# 1. Buat comfortable_temp: TRUE jika temp >= 20 AND temp <= 30
# 2. Buat high_humidity: TRUE jika humidity > 70
# 3. Buat pleasant_day: TRUE jika temp berada pada rentang 20-30 AND humidity <= 60
# 4. Buat extreme_weather: TRUE jika temp > 30 OR humidity > 80
# 5. Buat stay_inside: TRUE jika temp < 18 OR (temp > 30 AND humidity > 70)
# Cetak hasilnya
print(comfortable_temp)
print(high_humidity)
print(pleasant_day)
print(extreme_weather)
print(stay_inside)Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
4Operator Bagian 2
Operator Logika (AND, OR)Operator Logika Bagian 2 (NOT)Rangkuman: Logika SederhanaLogika Tervektorisasi Bagian 1Logika Tervektorisasi Bagian 27Kalkulator Pembagi Tagihan
Pesan Selamat DatangMenerima Input Pengguna10FizzBuzz dengan Sentuhan Unik
Ikhtisar PermainanFungsi FizzBuzz2Variabel dan Tipe Data
Tipe Data NumerikTipe Data IntegerTipe Data KarakterTipe Data LogikaMemeriksa Tipe DataKonvensi PenamaanNilai yang Hilang: NARingkasan: Membuat Variabel8Perulangan
For LoopWhile LoopBreakBerikutnya (Continue)Ringkasan: FaktorialPembuatan Urutan (seq, :)Loop BersarangRingkasan: Input Dinamis3Operator Bagian 1
Operator AritmetikaPembagian Bilangan Bulat dan ModuloOperator PenugasanRangkuman: Matematika SederhanaOperator Perbandingan6Dasar input/output
Cetak outputcat untuk outputOutput dengan variabelMembaca input dengan readline()Dasar konversi tipe dataRingkasan: Kalkulator usiaRingkasan: Benar atau salah9Fungsi
Mendeklarasikan FungsiArgumen FungsiNilai KembalianUlasan: Fungsi SigmaUlasan: Fungsi ValidasiNilai Parameter Default12Melakukan Iterasi pada Urutan
Mengiterasi Elemen VektorMenggunakan seq_along()Mengiterasi Karakter (strsplitFungsi Manipulasi stringLatihan sendiri: Compiler R online