Introduction

Understanding and fixing errors is one of the most important (and sometimes frustrating!) parts of learning R.

In this tutorial, we will:

  • Learn how to understand and solve errors in R
  • Get familiarized with the most common error types in R

Troubleshooting Errors in R

In R, errors occur when the code you write can’t be executed due to problems like typos, missing packages, incorrect function arguments, or misused data structures. When R encounters an error, it stops running the code and shows a message that gives clues about what went wrong. These messages can seem cryptic at first, but they usually point to the exact line or object causing the issue.

Error messages are not always clear. For example, trying to use a column that doesn’t exist in a dataset will result in an error like “object not found”.

Learning to read and interpret these messages is a key part of becoming confident in R, as they help you troubleshoot and fix mistakes efficiently. As you gain experience, you’ll begin to recognize common patterns and learn how to resolve them quickly.

Got an Error: What to do?

Keep calm!

  • Start by trying to identify what the error is: double check your code for simple mistakes
  • Consult the package description to understand how each function works
  • Try to look for a similar error online (a quick search often guides you to a forum with someone facing a similar issue)
  • Use AI to understand what the error is referring to, or check a small part of your code
  • Ask someone else to take a look! (last option, the best path for learning is trying to figure out what is wrong by yourself)
  • Ask for help in a forum

Common Errors in R

  • Not including a closing parenthesis, curly brace, square bracket or quotation mark

  • Typos or mistakes in names of datasets, variables, or functions

  • Calling a function of a library we forgot to install or load

Team Challenge (30 minutes)

In small teams, you will work together to troubleshoot some errors in R. We’ve created a RMarkdown file with some code related to the same Time Use dataset we’ve been using this week. You will notice a lot of errors when trying to run the code.

Take note of how many errors you encounter and what you do to solve them.

Come back to the main room when you’re done.

LS0tCnRpdGxlOiAiVHJvdWJsZXNob290aW5nIGVycm9ycyBpbiBSIgpwYWdldGl0bGU6ICJUcm91Ymxlc2hvb3RpbmcgZXJyb3JzIGluIFIiCm91dHB1dDoKICBodG1sX2RvY3VtZW50OgogICAgY29kZV9mb2xkaW5nOiBzaG93ICMgYWxsb3dzIHRvZ2dsaW5nIG9mIHNob3dpbmcgYW5kIGhpZGluZyBjb2RlLiBSZW1vdmUgaWYgbm90IHVzaW5nIGNvZGUuCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlICMgYWxsb3dzIHRoZSB1c2VyIHRvIGRvd25sb2FkIHRoZSBzb3VyY2UgLlJtZCBmaWxlLiBSZW1vdmUgaWYgbm90IHVzaW5nIGNvZGUuCiAgICBpbmNsdWRlczoKICAgICAgYWZ0ZXJfYm9keTogZm9vdGVyLmh0bWwgIyBpbmNsdWRlIGEgY3VzdG9tIGZvb3Rlci4KICAgIHRvYzogdHJ1ZQogICAgdG9jX2RlcHRoOiAzCiAgICB0b2NfZmxvYXQ6CiAgICAgIGNvbGxhcHNlZDogZmFsc2UKICAgICAgc21vb3RoX3Njcm9sbDogZmFsc2UKLS0tCgpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KG1lc3NhZ2UgPSBGQUxTRSwgd2FybmluZ3MgPSBGQUxTRSkKYGBgCgojIyBJbnRyb2R1Y3Rpb24KCjo6OmludG8KVW5kZXJzdGFuZGluZyBhbmQgZml4aW5nIGVycm9ycyBpcyBvbmUgb2YgdGhlIG1vc3QgaW1wb3J0YW50IChhbmQgc29tZXRpbWVzIGZydXN0cmF0aW5nISkgcGFydHMgb2YgbGVhcm5pbmcgUi4KOjo6CgpJbiB0aGlzIHR1dG9yaWFsLCB3ZSB3aWxsOgoKLSBMZWFybiBob3cgdG8gdW5kZXJzdGFuZCBhbmQgc29sdmUgZXJyb3JzIGluIFIKLSBHZXQgZmFtaWxpYXJpemVkIHdpdGggdGhlIG1vc3QgY29tbW9uIGVycm9yIHR5cGVzIGluIFIKCiMjIFRyb3VibGVzaG9vdGluZyBFcnJvcnMgaW4gUgoKSW4gUiwgZXJyb3JzIG9jY3VyIHdoZW4gdGhlIGNvZGUgeW91IHdyaXRlIGNhbuKAmXQgYmUgZXhlY3V0ZWQgZHVlIHRvIHByb2JsZW1zIGxpa2UgdHlwb3MsIG1pc3NpbmcgcGFja2FnZXMsIGluY29ycmVjdCBmdW5jdGlvbiBhcmd1bWVudHMsIG9yIG1pc3VzZWQgZGF0YSBzdHJ1Y3R1cmVzLiBXaGVuIFIgZW5jb3VudGVycyBhbiBlcnJvciwgaXQgc3RvcHMgcnVubmluZyB0aGUgY29kZSBhbmQgc2hvd3MgYSBtZXNzYWdlIHRoYXQgZ2l2ZXMgY2x1ZXMgYWJvdXQgd2hhdCB3ZW50IHdyb25nLiBUaGVzZSBtZXNzYWdlcyBjYW4gc2VlbSBjcnlwdGljIGF0IGZpcnN0LCBidXQgdGhleSB1c3VhbGx5IHBvaW50IHRvIHRoZSBleGFjdCBsaW5lIG9yIG9iamVjdCBjYXVzaW5nIHRoZSBpc3N1ZS4gCgpFcnJvciBtZXNzYWdlcyBhcmUgbm90IGFsd2F5cyBjbGVhci4gRm9yIGV4YW1wbGUsIHRyeWluZyB0byB1c2UgYSBjb2x1bW4gdGhhdCBkb2VzbuKAmXQgZXhpc3QgaW4gYSBkYXRhc2V0IHdpbGwgcmVzdWx0IGluIGFuIGVycm9yIGxpa2Ug4oCcb2JqZWN0IG5vdCBmb3VuZOKAnS4KCkxlYXJuaW5nIHRvIHJlYWQgYW5kIGludGVycHJldCB0aGVzZSBtZXNzYWdlcyBpcyBhIGtleSBwYXJ0IG9mIGJlY29taW5nIGNvbmZpZGVudCBpbiBSLCBhcyB0aGV5IGhlbHAgeW91IHRyb3VibGVzaG9vdCBhbmQgZml4IG1pc3Rha2VzIGVmZmljaWVudGx5LiBBcyB5b3UgZ2FpbiBleHBlcmllbmNlLCB5b3XigJlsbCBiZWdpbiB0byByZWNvZ25pemUgY29tbW9uIHBhdHRlcm5zIGFuZCBsZWFybiBob3cgdG8gcmVzb2x2ZSB0aGVtIHF1aWNrbHkuCgojIyBHb3QgYW4gRXJyb3I6IFdoYXQgdG8gZG8/CgpLZWVwIGNhbG0hCgogLSBTdGFydCBieSB0cnlpbmcgdG8gaWRlbnRpZnkgd2hhdCB0aGUgZXJyb3IgaXM6IGRvdWJsZSBjaGVjayB5b3VyIGNvZGUgZm9yIHNpbXBsZSBtaXN0YWtlcyAKIC0gQ29uc3VsdCB0aGUgcGFja2FnZSBkZXNjcmlwdGlvbiB0byB1bmRlcnN0YW5kIGhvdyBlYWNoIGZ1bmN0aW9uIHdvcmtzCiAtIFRyeSB0byBsb29rIGZvciBhIHNpbWlsYXIgZXJyb3Igb25saW5lIChhIHF1aWNrIHNlYXJjaCBvZnRlbiBndWlkZXMgeW91IHRvIGEgZm9ydW0gd2l0aCBzb21lb25lIGZhY2luZyBhIHNpbWlsYXIgaXNzdWUpCiAtIFVzZSBBSSB0byB1bmRlcnN0YW5kIHdoYXQgdGhlIGVycm9yIGlzIHJlZmVycmluZyB0bywgb3IgY2hlY2sgYSBzbWFsbCBwYXJ0IG9mIHlvdXIgY29kZQogLSBBc2sgc29tZW9uZSBlbHNlIHRvIHRha2UgYSBsb29rISAobGFzdCBvcHRpb24sIHRoZSBiZXN0IHBhdGggZm9yIGxlYXJuaW5nIGlzIHRyeWluZyB0byBmaWd1cmUgb3V0IHdoYXQgaXMgd3JvbmcgYnkgeW91cnNlbGYpCiAtIEFzayBmb3IgaGVscCBpbiBhIGZvcnVtCgojIyBDb21tb24gRXJyb3JzIGluIFIKIC0gTm90IGluY2x1ZGluZyBhIGNsb3NpbmcgcGFyZW50aGVzaXMsIGN1cmx5IGJyYWNlLCBzcXVhcmUgYnJhY2tldCBvciBxdW90YXRpb24gbWFyawogCiAhW10oaW1hZ2VzL2RheTRfZXJyb3JfaW5jb21wbGV0ZWV4cHJlc3Npb24ucG5nKQogCiAtIFR5cG9zIG9yIG1pc3Rha2VzIGluIG5hbWVzIG9mIGRhdGFzZXRzLCB2YXJpYWJsZXMsIG9yIGZ1bmN0aW9ucwogCiAgIVtdKGltYWdlcy9kYXk0X2Vycm9yX3R5cG8ucG5nKQogCiAtIENhbGxpbmcgYSBmdW5jdGlvbiBvZiBhIGxpYnJhcnkgd2UgZm9yZ290IHRvIGluc3RhbGwgb3IgbG9hZAogCiAgIVtdKGltYWdlcy9kYXk0X2Vycm9yX2xvYWRsaWJyYXJpZXMucG5nKQogCgojIyBUZWFtIENoYWxsZW5nZSAoMzAgbWludXRlcykKSW4gc21hbGwgdGVhbXMsIHlvdSB3aWxsIHdvcmsgdG9nZXRoZXIgdG8gdHJvdWJsZXNob290IHNvbWUgZXJyb3JzIGluIFIuIFdlJ3ZlIGNyZWF0ZWQgYSBSTWFya2Rvd24gZmlsZSB3aXRoIHNvbWUgY29kZSByZWxhdGVkIHRvIHRoZSBzYW1lIFRpbWUgVXNlIGRhdGFzZXQgd2UndmUgYmVlbiB1c2luZyB0aGlzIHdlZWsuIFlvdSB3aWxsIG5vdGljZSBhIGxvdCBvZiBlcnJvcnMgd2hlbiB0cnlpbmcgdG8gcnVuIHRoZSBjb2RlLiAKClRha2Ugbm90ZSBvZiBob3cgbWFueSBlcnJvcnMgeW91IGVuY291bnRlciBhbmQgd2hhdCB5b3UgZG8gdG8gc29sdmUgdGhlbS4gCgpDb21lIGJhY2sgdG8gdGhlIG1haW4gcm9vbSB3aGVuIHlvdSdyZSBkb25lLiAKCgoKCg==