Napiš vlastní funkci (3)
Pamatuješ si ještě rozdíl mezi argumentem s výchozí hodnotou a bez ní? Sekce použití v dokumentaci funkce sd() ukazuje následující:
sd(x, na.rm = FALSE)
Z toho vyplývá, že x musí být zadáno, aby bylo možné funkci sd() správně zavolat, zatímco na.rm už má výchozí hodnotu. Pokud tento argument nezadáš, žádná chyba nenastane.
Výchozí hodnoty argumentů si můžeš definovat i ve vlastních funkcích v R. Stačí použít tento vzor:
my_fun <- function(arg1, arg2 = val2) {
body
}
Editor napravo už obsahuje rozšířenou verzi funkce pow_two() z předchozího cvičení. Dokážeš ji dokončit?
Toto cvičení je součástí kurzu
Intermediate R
Pokyny k cvičení
- Přidej nepovinný argument s názvem
print_info, který má výchozí hodnotuTRUE. - Obal funkci
print()podmínkouif: tato funkce by se měla spustit pouze tehdy, když jeprint_inforovnoTRUE. - Klidně si s právě napsanou funkcí
pow_two()pohraj a vyzkouš různé možnosti.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Finish the pow_two() function
pow_two <- function(x) {
y <- x ^ 2
print(paste(x, "to the power two equals", y))
return(y)
}