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ş
Egzersiz talimatları
calc_harmonic_mean()fonksiyonunu güncelle:na.rmargümanını düzeltmek için ilkna.rmöğesini seçmek üzereuse_first()kullan ve mantıksala dönüştürmek içincoerce_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)