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'ın VE (AND) ve VEYA (OR) operatörlerinin iki versiyonu vardır. 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)

# Hangi puanların 50 ile 80 arasında olduğunu 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 öğe bazlı davranış, R'da verileri filtrelemek ve analiz etmek için gereklidir.

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 sıcaklık için TRUE değerini saklayan comfortable_temp adında bir vektör oluşturun.
  2. 70'ten büyük olan her 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 gün için TRUE değerini saklayan pleasant_day adında bir vektör oluşturun.
  4. Sıcaklığın 30'dan büyük olduğu VEYA nemin 80'den büyük olduğu her 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 olduğu VEYA (sıcaklığın 30'dan büyük VE nemin 70'ten büyük olduğu) her 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.

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: temp >= 20 VE temp <= 30 olduğunda TRUE

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

# 3. pleasant_day oluşturun: temp 20-30 arasında VE humidity <= 60 olduğunda TRUE

# 4. extreme_weather oluşturun: temp > 30 VEYA humidity > 80 olduğunda TRUE

# 5. stay_inside oluşturun: temp < 18 VEYA (temp > 30 VE humidity > 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