BaşlayınÜcretsiz başlayın

ifelse()

Bilinmesi gereken güçlü bir fonksiyon ifelse()'dır. Tek satırda bir if deyimi oluşturur ve dahası, tüm vektörler üzerinde çalışır!

Diyelim ki bir hisse fiyatları vektörün var. Her apple > 110 olduğunda "Buy!", aksi halde "Do nothing!" döndürmek istersen ne olur? Basit bir if deyimi bu problemi çözmeye yetmez. Ancak ifelse() ile şunu yapabilirsin:

apple
[1] 109.49 109.90 109.11 109.95 111.03 112.12

ifelse(test = apple > 110, yes = "Buy!", no = "Do nothing!")
[1] "Do nothing!" "Do nothing!" "Do nothing!" "Do nothing!" "Buy!"       
[6] "Buy!"

ifelse() önce test ifadesini değerlendirerek mantıksal bir vektör elde eder ve bu vektörde TRUE olan yerlerde TRUE değerini yes içindekiyle değiştirir. Benzer şekilde, FALSE değerleri de no ile değiştirilir.

stocks veri çerçevesi kullanımın için hazır.

Bu egzersiz, kursun bir parçasıdır

Finans için Orta Düzey R

Kursa Göz Atın

Egzersiz talimatları

  • ifelse() kullanarak micr'ın 60'ın üzerinde ama 62'nin altında olup olmadığını test et. Doğruysa 1, yanlışsa 0 döndür. Sonucu stocks'a micr_buy sütunu olarak ekle.
  • ifelse() kullanarak apple'ın 117'den büyük olup olmadığını test et. Dönen değer TRUE ise date sütunu, aksi halde NA olmalı.
  • stocks'u yazdır. date sayısal oldu! ifelse() döndürmeden önce tarihin özniteliğini kaldırır, bu yüzden sayısala dönüşür.
  • apple_date sütununa "Date" class()'ını ata.
  • stocks'u tekrar yazdır.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# Microsoft test
stocks$micr_buy <- ifelse(test = ___, yes = ___, no = ___)

# Apple test
stocks$apple_date <- ifelse(test = ___, yes = stocks$date, no = NA)

# Print stocks
___

# Change the class() of apple_date.
class(___) <- ___

# Print stocks again
___
Kodu Düzenle ve Çalıştır