The beauty of R is its versatility and of course the community 💜 you can use R (and different #CRAN packages) for literally anything (I use #shiny to build web applications, #blogdown to set up and maintain my website, #xaringan to create slide decks, ….).
All these great tools build upon one “little” (or not so little) thing: functions!

💡 What are functions?
A function is an inherent code block that performs a specific task, such as calculating a sum. And that's exactly what we are doing now 😊
👩🏼‍💻 How to write them?

In #rstats, functions can be as simple as this: Code showing how a simple function is set up name_of_the_fun
You give your function a name (name_of_the_function), define some arguments (arguments), and put some content in the function. Here you define how the function should proceed with the input (function_content).
Let’s use a simple example - a function that calculates the sum: Setting up a function that calculates the sum make_sum <- fu
You have the name of your function (make_sum), two arguments (a and b), and the operation inside the function (calculating the sum, storing it in c, and returning c).
You theoretically don't have to use the return statement here because the function will implicitly return the last object created but I prefer to be more explicit and to have more control (and understanding) of what my function does 🤓
When I write functions, I usually have a more or less working code in my head (or in a script), copy-paste it into the function environment and let it run 🏃🏼‍♀️ (it comes, of course, with a lot of debugging and problem-solving time - but more on this tomorrow 😊)

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with We are R-Ladies

We are R-Ladies Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @WeAreRLadies

Sep 13
👩🏼‍💻 Another great tool that you can use to better understand code structures is the #rstats {flow} 📦 by @antoine_fabri

It visualizes a flow diagram of the functional architecture (github.com/moodymudskippe…)
@antoine_fabri Let’s take a look at it by using our make_sum function from yesterday. We wrote this simple function that calculates the sum: Setting up a function that ...
@antoine_fabri But what happens under the hood? We can see it here in code language but wouldn't it be great to see it more visually? Here's {flow}'s moment to shine! ✨ Run this line of code and you'll get a flow diagram that shows you how the function works 🥳 Showing the workflow of flo...Showing the visualization o...
Read 5 tweets
Sep 13
💡 So, how do you debug in R?

Three basic commands in #rstats let you already do the debugging:

🛠️ debug(function_name),
🛠️ browser(), and
🛠️ undebug(function_name)
With debug(function_name) you start the debugging of your function - it’s basically like a mole that digs in.

When you're in debug mode, you can also call the objects in your function.
The GIF shows how a debugger goes through each step of a function after activating it with "debug(make_sum)".
Read 10 tweets
Sep 13
Yesterday we talked about function writing and how to write them in R. But there is (unfortunately) a chance that your function won't work at the first try - and that's where debugging comes in 🕵️‍♀️
Ways to approach this problem are, for instance, to google the error message (if there is one), take separate parts of your code and let them run, or to use the more formal debugging tools that #rstats offers.
One major thing that I learned throughout the years is the power of #debugging. Irrespective of the programming language I use, debugging is for me key when it comes to understanding the functionality of code (also for code written by someone else).
Read 7 tweets
Sep 12
Let's use the remaining time today to dig into best practices when it comes to function writing first ✨ It's a loose collection of things that I picked up from others and that I experienced myself as being helpful. They are not ranked in a specific order.
🪄 Use curly brackets - it makes it easier to read and work with your functions. Good practice vs. not-so-go...
🪄 Use meaningful names for your functions. It's good to use verbs for functions.
Read 13 tweets
Sep 12
As some inspiration for today, I collected a loose list of recommendations (data/tech communities, blogs, and podcasts) for anyone interested in the #data field 👩🏼‍💻
💜 R-Ladies, PyLadies, and CorrelAid — these are fantastic communities! Before founding @rladies_cologne last year, I had only positive experiences with the community - they have interesting talks and the Slack community is extremely helpful when you have a question 😊
@rladies_cologne (so, if you’re new and just stumbled upon the account - welcome to @RLadiesGlobal! 🥰)
Read 13 tweets
Sep 12
Hello everyone 👋 my name is Cosima and I usually tweet at @cosima_meyer.
In my professional life, I work as a data scientist in the field of AI. I love my job because it allows me to work with fantastic teams to solve puzzles👩🏼‍💻 Image showing two people holding two puzzle pieces to the sk
@cosima_meyer Before working in the industry, I explored my passion for research in academia. I hold a PhD from the University of Mannheim in #politicalscience (my dissertation dealt with post-civil war stability 🕊).
@cosima_meyer While working at @MZESUniMannheim, I co-founded a #datascience blog “Methods Bites” (@mzes_ssdl) which provides several hands-on tutorials on #NLP, scraping #Twitter data, #dataviz, or how to publish your package on #CRAN.
Read 11 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(