Menu
CoddyTech

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 FALSE

Setiap 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 TRUE

Hasilnya 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.

challenge icon

Tantangan

Mudah

Gunakan 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:

  1. Buat vector bernama comfortable_temp yang menyimpan TRUE untuk setiap suhu yang lebih besar dari atau sama dengan 20 DAN lebih kecil dari atau sama dengan 30
  2. Buat vector bernama high_humidity yang menyimpan TRUE untuk setiap nilai kelembapan yang lebih besar dari 70
  3. Buat vector bernama pleasant_day yang menyimpan TRUE untuk setiap hari ketika suhu berada di antara 20 dan 30 (inklusif) DAN kelembapan kurang dari atau sama dengan 60
  4. Buat vector bernama extreme_weather yang menyimpan TRUE untuk setiap hari ketika suhu lebih besar dari 30 ATAU kelembapan lebih besar dari 80
  5. Buat vector bernama stay_inside yang menyimpan TRUE untuk 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)
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler R online