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).
One of the very first steps when digging into a new coding basis is always turning the debugging mode on - it guides you so nicely through the functions that were written (and show you how they are connected) 😊
As a fun fact, when I wrote the initial version of my first R package, I wasn’t aware of how debugging works in R and I used a lot of "print()" statements to understand my own functions.
This works perfectly fine for smaller functions but once your code universe gets larger, unleashing the power of debugging is a game changer! ✨
How often do you use the debugging tools in R? (and all answers are great!) 👇

• • •

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 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
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
Read 8 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!

:(