1. Learn
  2. /
  3. Courses
  4. /
  5. Optimizing R Code with Rcpp

Connected

Exercise

Práce s chybějícími hodnotami

V R se k testování chybějících hodnot používá funkce is.na(x). (Co se stane, když zkusíš x == NA?)

Ekvivalentem v Rcpp je statická metoda is_na(). Připomeňme, že statická metoda patří třídě samotné, nikoli konkrétní proměnné. Například NumericVector::is_na(x) ověří, zda je double x chybějící hodnotou.
Podobně statická metoda get_na() vrátí hodnotu NA pro příslušnou třídu. Například CharacterVector::get_na() vrátí chybějící hodnotu znakového typu.

Pozor: logický operátor nebo je v C++ stejný jako v R — ||.

Instructions

100 XP
  • Uprav funkci weighted_mean_cpp() z předchozího cvičení tak, aby vrátila chybějící hodnotu, jakmile narazí na NA v x nebo w.
    • Přidej blok if, který zkontroluje, zda je i-tý prvek x roven NA nebo zda je i-tý prvek w roven NA.
    • Uvnitř tohoto bloku if vrať číselnou hodnotu NA.