Neviditelné vrácení hodnoty
Když je hlavním účelem funkce generovat výstup – například vykreslit graf nebo vypsat něco do konzole – možná nechceš, aby se zároveň vytiskla i návratová hodnota. V takovém případě by měla být hodnota vrácena neviditelně.
Základní R funkce plot() vrací NULL, protože jejím hlavním účelem je vykreslení grafu. To ale není praktické, pokud chceš použít funkci v řetězeném kódu – místo toho by měla neviditelně vrátit data grafu, aby je bylo možné předat dalšímu kroku.
Připomeňme, že plot() má formulové rozhraní: místo předání vektorů pro x a y můžeš zadat vzorec popisující, které sloupce datového rámce patří na osy x a y, a argument data pro samotný datový rámec. Stejně jako u lm() jsou argumenty v obráceném pořadí – podrobný argument formula je před argumentem data.
plot(y ~ x, data = data)
Toto cvičení je součástí kurzu
Introduction to Writing Functions in R
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Using cars, draw a scatter plot of dist vs. speed
plt_dist_vs_speed <- ___(___ ~ ___, data = ___)
# Oh no! The plot object is NULL
plt_dist_vs_speed