Session 7 Writing your own functions
First, work through Chapter 19 of R for Data Science, then work through the exercises below to check your understanding.
7.1 Writing your own functions
Now let’s try and generalise the fizz-buzz approach above by writing it into a function.
Exercise: write a function
fizz_buzz that takes a single argument,
n, that plays fizz-buzz for all the numbers up to and including
Hint: this will look like:
If you need more help see Chapter 19 of Wickham & Grolemund.
7.1.1 Writing robust functions
This is a more advanced section: skip if you are low on time.
What happens if you try to run your
fizz_buzz function as
fizz_buzz(-3)? Or (even more subtle)
fizz_buzz(0)? It would be good if your function did something appropriate with these inputs.
Exercise: extend your function so that it handles these inputs better.
- If the input is inappropriate you could throw an error. For example:
?is.integer and others,
- Another alternative might be to round a non-integer using