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

Fonksiyon argümanlarını düzeltme

Harmonik ortalama fonksiyonu neredeyse hazır. Ancak na.rm argümanı için hâlâ bazı kontroller eklemen gerekiyor. Bu kez, girdi yanlış biçimdeyse hata fırlatmak yerine onu düzeltmeyi deneyeceksin.

na.rm, tek elemanlı bir mantıksal vektör olmalı (yani TRUE veya FALSE).

assertive paketi senin için yüklendi.

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

R'de Fonksiyon Yazmaya Giriş

Kursa Göz Atın

Egzersiz talimatları

  • calc_harmonic_mean() fonksiyonunu güncelle: na.rm argümanını düzeltmek için ilk na.rm öğesini seçmek üzere use_first() kullan ve mantıksala dönüştürmek için coerce_to() uygula.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# Update the function definition to fix the na.rm argument
calc_harmonic_mean <- function(x, na.rm = FALSE) {
  assert_is_numeric(x)
  if(any(is_non_positive(x), na.rm = TRUE)) {
    stop("x contains non-positive values, so the harmonic mean makes no sense.")
  }
  # Use the first value of na.rm, and coerce to logical
  ___ <- ___(___(___), ___ = "___")
  x %>%
    get_reciprocal() %>%
    mean(na.rm = na.rm) %>%
    get_reciprocal()
}

# See what happens when you pass it malformed na.rm
calc_harmonic_mean(std_and_poor500$pe_ratio, na.rm = 1:5)
Kodu Düzenle ve Çalıştır