What is the best way to share R code on Microsoft Teams?
You have run into a problem and need to get help on MS Teams. What is the right way to share your code?
Please do not share a screenshot unless you are asked, or if it is not the code that is giving you problems, but something weird is happening with the RStudio IDE.
If it's your code that is not working, it is almost always better to copy and paste the code, because then people who are trying to help you can copy and paste the code exactly to try it out, rather than having to re-type everything from the image. Let's look at an example. Below is a screenshot of how the RStudio IDE might look when your code throws an error. Here the code block labelled cars
is causing the error.
The particular error that our code threw was
Error in mtcars %>% filter(mpg > 20) : could not find function "%>%"
And the code that threw it was
Note that you can select and copy the code above if you wanted to run it yourself, but you could not do that if all you had to rely on was the screenshot.
Copying the code and/or error in RStudio is easy; just highlight the code using the mouse and press Ctrl-C.
If you just paste the code into a Teams channel, the formatting is not so nice; you lose the formatting that allows you to read the code easily.
Here are two ways to get your code into Teams, one that is quick and easy but not very flexible, and another that is far more flexible but requires more steps.
Quick and easy method
First, if it is just a short function call, a single line, or an error, you can signal that text is meant to appear as code by surrounding it by single backticks---i.e., putting a backtick (`) right before and right after the text that you want to be formatted as code. Teams will automatically format it for you.
Above, I surrounded the error message Error in mtcars %>% filter(mpg > 20) : could not find function "%>%"
with single backticks to indicate code, and we typed triple backticks at the start of the line to create a code chunk. (The next method might be easier for making multi-line posts.)
More flexible method
There is a more flexible (and possibly easier) way. Before pasting any text, click on the icon that looks like the letter "A", highlighted below.
This will open up options for text formatting and will allow you to easily create a multi-line post. From those options, select the icon that looks like </>
, which stands for code.
The code icon will open a window where you can paste your code. In the dropdown menu on the top right, select 'R' as the type of code. This will give you syntax highlighting.
Here is how you might begin your post.
Reprex
You might see people in coding forums like StackOverflow asking for a "reprex", or a reproducible example. This is the smallest, completely self-contained example of your problem or question.
For example, you may have a question about how to figure out how to select rows that contain the value "test" in a certain column, but it isn't working. It's clearer if you can provide a concrete example, but you don't want to have to type out the whole table you're using or all the code that got you to this point in your script.
You can include a very small table with just the basics or a smaller version of your problem. Make comments at each step about what you expect and what you actually got.
Which version is easier for you to figure out the solution?
# with a minimal example table
data <- tribble(
~id, ~type, ~x,
1, "test", 12,
2, "testosterone", 15,
3, "estrogen", 10
)
# this should keep IDs 2 and 3, but removes ID 2
no_test_data <- data %>%
filter(!str_detect(type, "test"))
One of the big benefits to creating a reprex is that you often solve your own problem while you're trying to break it down to explain to someone else.
If you really want to go down the rabbit hole, you can create a reproducible example using the reprex package from tidyverse.