Menu
Coddy logo textTech

Vektörize Mantık Bölüm 1

Coddy'nin R Journey'sinin Temeller bölümünün bir parçası — ders 20 / 78.

R'da VE (AND) ve VEYA (OR) operatörlerinin iki versiyonu bulunur. Tek değerlerle çalışan && ve || operatörlerini öğrendiniz. Şimdi bunların vektörleştirilmiş karşılıklarını inceleyelim: & ve | (tek semboller).

Temel fark, birden fazla değerle çalışırken & ve | operatörlerinin değerleri öğe öğe karşılaştırmasıdır:

a <- c(TRUE, TRUE, FALSE, FALSE)
b <- c(TRUE, FALSE, TRUE, FALSE)

a & b   # TRUE FALSE FALSE FALSE
a | b   # TRUE TRUE TRUE FALSE

Her konum bağımsız olarak karşılaştırılır. İlk konumda, hem a hem de b TRUE değerindedir, bu nedenle a & b TRUE döndürür. İkinci konumda, a TRUE ancak b FALSE değerindedir, bu nedenle a & b FALSE döndürür.

Bu, karşılaştırma operatörleri ile birleştirildiğinde güçlü hale gelir:

scores <- c(85, 42, 91, 67, 55)

# 50 ile 80 arasındaki puanları kontrol edin
scores >= 50 & scores <= 80  # FALSE FALSE FALSE TRUE TRUE

Sonuç, hangi öğelerin her iki koşulu da karşıladığını gösteren mantıksal değerlerden oluşan bir vektördür. Bu eleman bazlı (element-wise) davranış, R'da verileri filtrelemek ve analiz etmek için temeldir.

challenge icon

Görev

Kolay

Vektörler üzerinde eleman bazlı karşılaştırmalar yapmak için vektörleştirilmiş VE (&) ve VEYA (|) operatörlerini kullanın.

Size aşağıdaki vektörler verilmiştir:

temperatures <- c(18, 25, 32, 15, 28, 35, 22)
humidity <- c(45, 80, 60, 30, 75, 85, 50)

Aşağıdaki mantıksal vektörleri oluşturmak için vektörleştirilmiş mantıksal operatörleri kullanın:

  1. 20'den büyük veya eşit VE 30'dan küçük veya eşit olan her bir sıcaklık değeri için TRUE değerini saklayan comfortable_temp adında bir vektör oluşturun
  2. 70'ten büyük olan her bir nem değeri için TRUE değerini saklayan high_humidity adında bir vektör oluşturun
  3. Sıcaklığın 20 ile 30 arasında (dahil) VE nemin 60'tan küçük veya eşit olduğu her bir gün için TRUE değerini saklayan pleasant_day adında bir vektör oluşturun
  4. Sıcaklığın 30'tan büyük VEYA nemin 80'den büyük olduğu her bir gün için TRUE değerini saklayan extreme_weather adında bir vektör oluşturun
  5. Sıcaklığın 18'den küçük VEYA (sıcaklığın 30'dan büyük VE nemin 70'ten büyük) olduğu her bir gün için TRUE değerini saklayan stay_inside adında bir vektör oluşturun

comfortable_temp, high_humidity, pleasant_day, extreme_weather ve stay_inside vektörlerini tam olarak bu sırayla görüntülemek için print() fonksiyonunu kullanın.

Kopya kağıdı

R'da VE (AND) ve VEYA (OR) operatörlerinin iki versiyonu bulunur:

  • && ve || tekil değerlerle çalışır
  • & ve |, değerleri eleman bazında karşılaştıran vektörleştirilmiş operatörlerdir

Vektörleştirilmiş & ve | operatörleri her bir konumu bağımsız olarak karşılaştırır:

a <- c(TRUE, TRUE, FALSE, FALSE)
b <- c(TRUE, FALSE, TRUE, FALSE)

a & b   # TRUE FALSE FALSE FALSE
a | b   # TRUE TRUE TRUE FALSE

Vektörleştirilmiş operatörler, karşılaştırma operatörleri ile birleştirildiğinde oldukça güçlüdür:

scores <- c(85, 42, 91, 67, 55)

# Hangi puanların 50 ile 80 arasında olduğunu kontrol et
scores >= 50 & scores <= 80  # FALSE FALSE FALSE TRUE TRUE

Sonuç, hangi elemanların koşulları karşıladığını gösteren bir mantıksal değerler vektörüdür.

Kendin dene

# Sağlanan vektörler
temperatures <- c(18, 25, 32, 15, 28, 35, 22)
humidity <- c(45, 80, 60, 30, 75, 85, 50)

# TODO: Kodunuzu aşağıya yazın
# 1. comfortable_temp oluşturun: sıcaklık >= 20 VE sıcaklık <= 30 olduğunda TRUE

# 2. high_humidity oluşturun: nem > 70 olduğunda TRUE

# 3. pleasant_day oluşturun: sıcaklık 20-30 ARASINDA VE nem <= 60 olduğunda TRUE

# 4. extreme_weather oluşturun: sıcaklık > 30 VEYA nem > 80 olduğunda TRUE

# 5. stay_inside oluşturun: sıcaklık < 18 VEYA (sıcaklık > 30 VE nem > 70) olduğunda TRUE


# Sonuçları yazdırın
print(comfortable_temp)
print(high_humidity)
print(pleasant_day)
print(extreme_weather)
print(stay_inside)
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temeller bölümündeki tüm dersler