<p><div><div><div><div data-show-faces="false" data-height="21" data-width="100" data-layout="button_count" data-send="true" data-href="https://www.r-bloggers.com/where-to-get-help-with-your-r-question/"></div></div><div></div></div><div></div></div>
<div>
(This article was first published on <strong><a href="https://masalmon.eu/2018/07/22/wheretogethelp/"> Posts on Maëlle's R blog</a></strong>, and kindly contributed to <a rel="nofollow" href="https://www.r-bloggers.com/">R-bloggers)</a> </div>
<p>Last time I blogged, I offered <a rel="nofollow" href="https://masalmon.eu/2018/07/16/soapbox/" target="_blank">my <s>obnoxious</s> helpful advice for blog content and promotion</a>. Today, let me again be the agony aunt you didn’t even write to! Imagine you have an <em>R question</em>, i.e. a question related to how you can do something with R, and your search engine efforts haven’t been too successful: where should you ask it to increase your chance of its getting answered? You could see this post as my future answer to stray suboptimal Twitter R questions, or as a more general version of Scott Chamberlain’s excellent talk about how to get help related to rOpenSci software in the <a rel="nofollow" href="http://communitycalls.ropensci.org/" target="_blank">2017-03-07 rOpenSci comm call</a>.</p>
<p>I think that the general journey to getting answers to your R questions is first trying your best to get answers locally in the documentation of R, then to use a search engine, and then to post a well-formulated question <em>somewhere</em>. My post is aimed at helping you find that <em>somewhere</em>. Note that <a rel="nofollow" href="https://community.rstudio.com/t/faq-is-it-ok-if-i-cross-post/5218" target="_blank">it’s considered best practice to ask in one <em>somewhere</em> at once</a>, and to then move on to another <em>somewhere</em> if you haven’t got any answer!</p>

<p>One thing this post isn’t about is <em>how</em> to ask for help to <em>humans</em>, which is a topic that’s e.g. covered very well in <a rel="nofollow" href="https://vimeo.com/208749032" target="_blank">Jenny Bryan’s talk about <code>reprex</code></a> in the <a rel="nofollow" href="http://communitycalls.ropensci.org/" target="_blank">same 2017-03-07 rOpenSci comm call</a>, but I’ll link out to useful resources I’ve found. This post is also not about <em>how</em> to ask for help to e.g. Google, and I don’t know of a good search engine guide yet although e.g. “It can be particularly helpful to paste an error message into a search engine to find out whether others have solved a problem that you encountered.” in <a rel="nofollow" href="https://www.r-project.org/help.html" target="_blank">https://www.r-project.org/help.html</a> is true.</p>
<h1>Public question platforms vs. safe spaces?</h1>
<p>I’ll start this post with a general comment for newbies who aren’t at ease enough yet to post their question, no matter what type of questions (see later), to anywhere public: find your safe and friendly space!</p>
<h2>Lean on your current friend(s)</h2>
<p>Do you have an R friend? Maybe this colleague who actually convinced you to start using R? Well, ask this person for help! Remind them it’s their fault you’re struggling now.</p>
<p>And if you’re not a newbie but are reading this now, be this R friend! Mentor newbies on their way to be better R users and askers.</p>
<h2>Find new friends</h2>
<p>Join a community, and ask your questions there. More specifically, you can join the <a rel="nofollow" href="https://www.jessemaegan.com/post/r4ds-the-next-iteration/" target="_blank">R4DS community</a>; your <a rel="nofollow" href="https://rladies.org/" target="_blank">local</a>/<a rel="nofollow" href="http://eepurl.com/dy1bm1" target="_blank">remote</a> R-Ladies community (as a reminder, <a rel="nofollow" href="https://rladies.org/about-us/" target="_blank">this doesn’t mean women only</a> but instead “minority genders (including but not limited to cis/trans women, trans men, non-binary, genderqueer, agender)”); this <a rel="nofollow" href="https://masalmon.eu/2018/07/22/wheretogethelp/bit.ly/grrr-join" target="_blank">French-speaking community</a>. Such communities most often have Slack workspaces or equivalent, with an r-help channel, as well as a code of conduct and a general friendly attitude. Build your confidence there, and soon, you’ll be out asking (and answering!) R questions in the wilderness as well.</p>
<p>Note, if you know of any list of such friendly communities, please tell me. I only know of <a rel="nofollow" href="http://blog.revolutionanalytics.com/local-r-groups.html" target="_blank">this list (of lists) of R User Groups and Conferences by David Smith</a>.</p>
<h1>Spotlight on my typology of R questions</h1>
<p>One thing I especially like about Scott Chamberlain’s slidedeck is his typology of methods to get help, <a rel="nofollow" href="https://scotttalks.info/qropensci/#/good-for" target="_blank">“methods and what they’re good for”</a>. I’ll build this post based on a typology of questions, that also intersects with a typology of your newbiness-nervousness.</p>
<p>I tend to think of R questions as pertaining to one of these categories:</p>
<ul>
<li>
<p>is this a bug, why am I stuck with this code? how do I install <code>rJava</code> on my laptop? (problem!) Problems encompass actual bugs, and problems where the problem is your code rather than the package (I’ll admit that I find joy in my code’s sometimes not being the problem, although this doesn’t solve the problem.).</p>
</li>
<li>
<p>is there a tool in R for doing <code>foo</code>? how do I learn about <code>bar</code>? (question!)</p>
</li>
<li>
<p>what’s the best plotting library in R? dependencies, is less more? (debate!)</p>
</li>
</ul>
<p>I agree that the difference between <em>debate</em> and <em>question</em> might be thin, in my mind <em>question</em> questions have more of a trivia aspect, with answers being easier.</p>
<h1>Where to ask your <em>problem</em> question</h1>
<p>Scenario: you wrote R code, and it doesn’t do what you expected it to, which includes the glorious cases of not running at all or of using packages you haven’t even been able to install. What do you do then?</p>
<ul>
<li>
<p>If your problem is linked to a package in particular, i.e. you know the function that’s causing you sorrow comes from the <code>foo</code> package, then your question is a <code>foo</code> question or bug report. So what you need to find now is the platform to report bugs and ask questions about <code>foo</code>.</p>
<ul>
<li>
<p>It might be written in <code>foo</code> docs/metadata. Have a look in the docs, and observe the website or development repository of the package. E.g. if you use <code>blogdown</code>, its BugReports URL is <a rel="nofollow" href="https://github.com/rstudio/blogdown/issues" target="_blank">https://github.com/rstudio/blogdown/issues</a> and if you were to try and open an issue there with your bug or other problem, you’d get to see <a rel="nofollow" href="https://github.com/rstudio/blogdown/blob/master/.github/ISSUE_TEMPLATE.md#consider-stackoverflow-first" target="_blank">the template that tells you to use Stack Overflow first for general questions</a>. GitHub repos can also contain question guidance as part of their CONTRIBUTING.md. If you use <code>INLA</code> and have questions, you’ll find <a rel="nofollow" href="http://www.r-inla.org/help" target="_blank">http://www.r-inla.org/help</a> useful. I remember having many questions about <code>INLA</code> during my PhD, and sometimes having to ask them in the mailing list when the docs couldn’t help me any further.</p>
</li>
<li>
<p>You’ll rarely have to email the maintainer of a package, but you might have too, e.g. if you wonder whether the package will be further maintained or <a rel="nofollow" href="https://scotttalks.info/qropensci/#/good-for" target="_blank">as Scott said here, if your problem is specific to some sensitive data and an rOpenSci package</a>.</p>
</li>
<li>
<p>Sometimes <code>foo</code> provider can also be a clue. If <code>foo</code> is an <a rel="nofollow" href="https://ropensci.org/packages/" target="_blank">rOpenSci package</a>, you can ask for help on <a rel="nofollow" href="https://discuss.ropensci.org/" target="_blank">rOpenSci’s forum</a> or on Stack Overflow using the “ropensci” tag. If <code>foo</code> is an RStudio package, you can ask for help on <a rel="nofollow" href="https://community.rstudio.com/" target="_blank">RStudio’s forum</a>… You get the gist.</p>
</li>
</ul>
</li>
<li>
<p>When there’s no other indication or you’re not sure <code>foo</code> or <code>bar</code> is the actual culprit, use a more general site like <a rel="nofollow" href="https://stackoverflow.com/" target="_blank">Stack Overflow</a>, tagging your question with “r” and other relevant labels. I was pleased to see that the bottom of <a rel="nofollow" href="https://www.r-project.org/help.html" target="_blank">https://www.r-project.org/help.html</a> includes a list of question venues including Stack Overflow, but also <a rel="nofollow" href="https://www.r-project.org/mail.html" target="_blank">all R mailing lists</a>.</p>
</li>
</ul>
<h1>Where to ask your <em>question</em> or <em>debate</em> question</h1>
<p>How to find out whether there’s a tool to do image manipulation in R? How to know what’s best practice for your special package development challenge? How to get a book recommendation?</p>
<p>Maybe Twitter, to which I’ll dedicate a whole section a bit later. But a good guess is also trying to locate where the experts, or people interested in the answer, normally interact. Your finding your happy place will probably be a bit of a trial-and-error process, so while asking your first question might be more difficult, things should be easier as you learn to navigate the different communities and their activity. Here is some inspiration:</p>
<ul>
<li>
<p><a rel="nofollow" href="https://www.r-project.org/mail.html" target="_blank">The R SIG (special interest group) mailing lists</a>. Now <em>I</em> don’t use them at all because I’m not keen on receiving and sending many emails, but I can see there’s a great diversity of groups, maybe one that’ll suit your interests!</p>
</li>
<li>
<p>If your question is related to open science, reproducibility, documenting data, extracting data out of something (a PDF! a PNG!), package development, <a rel="nofollow" href="https://discuss.ropensci.org/" target="_blank">rOpenSci’s discuss forum</a> might be the right venue.</p>
</li>
<li>
<p>The <a rel="nofollow" href="https://community.rstudio.com/" target="_blank">RStudio community forum</a> has many categories including the <code>tidyverse</code> and the RStudio IDE of course but also about package development; R in production, at scale, and in complex environments, etc.</p>
</li>
<li>
<p>For a question related to outbreak analytics and R programming, check out <a rel="nofollow" href="http://www.repidemicsconsortium.org/forum/" target="_blank">the R Epidemics Consortium mailing list or Slack</a>.</p>
</li>
</ul>
<h1>What is Twitter good for?</h1>
<p>Anyone can use Twitter for what they want, depending on the accounts they follow and on their way to consume their timelines and hashtags, so the following is probably even more personal to me than the rest. I think Twitter questions that have higher chances to be answered (because I like answering them!) are the trivia ones, i.e. “is there something to do <code>foo</code>”, and the more controversial ones if only for having fun. That said, if you don’t have a huge following yet, or post at the “wrong” time, even when using the right hashtags or so your question might be ignored, keep that in mind.</p>
<p>What Twitter is not good not is, in my opinion:</p>
<ul>
<li>
<p>Asking a question about a package by tagging the maintainer especially when the package docs state there’s another venue for that. But then, as a maintainer, one should probably handle such mistakes gracefully (like Yihui did <a rel="nofollow" href="https://twitter.com/xieyihui/status/1015079496427491328" target="_blank">here</a>).</p>
</li>
<li>
<p>Too much code I think, even if tools like <a rel="nofollow" href="https://github.com/ropenscilabs/codefinch" target="_blank">Sean Kross’ <code>codefinch</code></a> can help. Your tweet with a question can circumvent the difficulty by advertising a gist like codefinch makes you do (i.e. a tweet with an “attachment”), or by being a link to your actual question on Stack Overflow (i.e. a tweet to try and draw attention to your question).</p>
</li>
<li>
<p>Building an archive of questions and answers. It won’t be easy at all to search whether a question has already been answered. You can counteract this loss of knowledge by asking questions somewhere else, or building something out of the answers you’ve been given, e.g. a <a rel="nofollow" href="https://itsalocke.com/blog/r-spatial-resources/" target="_blank">blog post listing resources for geospatial analysis in R</a> or <a rel="nofollow" href="https://www.stephdesilva.com/post/the-keys-to-the-kingdom/" target="_blank">resources about transport and GIS in R</a> like Steph Locke and Steph de Silva, respectively, did after getting answers on Twitter.</p>
</li>
<li>
<p>Surprise questions. At least I am scared of questions phrased like this: “Who has time to help me with </ul>