4
$\begingroup$

I don't know enough about R. Here are two possibilities that I envision regarding the use of R:

  1. You are fluent in R. You are able to readily use R for almost any kind of analysis. If you do not have experience with a package, you can learn it very quickly (minutes) and use it, assuming you are familiar with the analysis in general.

  2. You are not fluent in R. You learned and use a few specific R packages based on your needs. You would not be able to easily use R for analyses that do not involve the packages you already know.

I know this is a false dichotomy, but it hope it serves to illustrate my questions. My questions are:

  1. Are most R users fluent, or not fluent as described above?

  2. I appreciate that becoming fluent in R would be most beneficial, but I also recognize that this would involve a significant time investment. For what types of users is such an investment worth it?

  3. How many fluent users of R also resort to using other software?

I know these questions are relatively subjective, but I suppose so are other questions about R (e.g., "What R packages do you find most useful in your daily work?").

Edit: I will mention why I am asking. I have never used R and I perform relatively complex analyses regularly (e.g., propensity score matching, structural equation modelling, latent growth analyses, item response theory). I use three or four different statistical packages to perform these analyses. I have been lucky to find these software packages to do what I need, but I feel like eventually I won't be that fortunate. I am constantly debating learning R, despite being so very busy otherwise.

$\endgroup$
1
  • 1
    $\begingroup$ Questions (1) and (3) are unanswerable AFAIK. Question (2) could have some objective answers: I recommend focusing on it. $\endgroup$
    – whuber
    Commented Oct 9, 2013 at 16:51

4 Answers 4

4
$\begingroup$

There are different levels at which you may be fluent in R:

  • a basic "fluency" as described in your point 1. I don't see how you could get around doing much with even a comparatively small number of specialized packages unless you have this basic fluency: With the exception of very few packages that provide GUIs, the main work flow in R is to type in commands.

  • maybe the next level of fluency is typing in your data analysis as script (as opposed to a purely interactive work style). At this level I'd also place the use of loops or loop-like vectorization (for, *apply) and conditions (if). This level would maybe also include using report-generating functionality like Sweave knitr.
    I recommend every to colleague who thinks about using R to get to this level: the step from direct interaction to saving scripts saves a whole lot of hassle in terms of reproducing data analyses, and deriving analyses for new data.

I put these two points separately as I see that users new to R and programming-type data analysis make a big distinction between them. However I think the next step is a larger one, and you can get quite far without the following levels:

  • treating R more from a programming point of view: e.g. writing functions instead of scripts.

  • package develeopment, S3, S4 and reference classes


(Disclaimer: I'm on the fluent side of R)

As to being able to use a new package within minutes, I think that depends more on the package (vignette or tutorial paper available) and the topic than on R fluency. E.g. I develop R packages (including use of classe), but I still may need quite some time to get used to the philosoph behind a certain package.

And yes, I do use other software and other programming languages (e.g. Perl for processing ASCII files etc.) into as well. Rarely for statistical data analysis, though (I switched to R because the software packages we had were not able to do what I need to do) with the exception of occasionally using Matlab.

$\endgroup$
3
$\begingroup$

As Peter said, the matter of becoming fluent in R vs. knowing/implementing appropriate R packages based on your needs is entirely up to what you expect to gain from using R. Like you, I also use other statistical programs (ie. SAS, Mplus, and Knowledge Studio), but having R at my disposal allows me to perform certain analyses more easily and/or more efficiently (eg. Random Forest with randomForest and Lasso Regression with glmnet). It is also very nice/reassuring how often packages and their documentation get updated, which is quite the opposite for the archaic procs of SAS!

Personally, I began learning the basics of R by reviewing and typing through all of the topics on the website, Quick-R, which takes you through the more familiar processes of data management, descriptive statistics, correlation, and regression analyses as well as delving into some handy concepts such as bootstrapping, factor analysis, tree-based methods, and matrix algebra (as well as countless others!).

It is also helpful to watch videos on youtube, as user2337160 pointed out. Watching these videos will reinforce the basics that you learned from perusing through Quick-R and will add additional hints and tricks to further progress your R skills.

Now that I have been working with R for a little over 2 years now, I have come to realize that I best learn R, as well as any other statistical program, from having the want or need of making use of a specific type of analysis. For example, the concept of Random Forest stumped me for a long time; however, I reviewed the appropriate R documentation to make use of R packages such as randomForest and Boruta, which allowed me to meet the demands of my task, while further enhancing my working R knowledge.

In summation, I recommend that you learn the basics (via. Quick-R, youtube videos, and colleagues, if at all possible) and then make use of specific R packages to conquer the demands of your current and future projects, which, in turn, will result in improved R fluency over the months and years to come.

I hope this helps!

$\endgroup$
1
$\begingroup$

One of the big advantages of becoming truly fluent in R would be the ability to program your own fairly complex analyses. If that is something that you will need to do (and think you will be able to do) then it surely makes sense to learn R.

On the other hand, if you can always find a package to do what you want, then learning those packages might be a better investment of your time.

$\endgroup$
0
$\begingroup$

I have debated this for ages. I am a very strong sas user and haven't seen the need to put myself through the torture of learning R :-). I'm currently between jobs and using this time to learn R; it has been challenging. I would recommend the two minute R videos (I think the guy's name is Anthony Damico). He's funny and the videos are awesome.

There is a lot of good R manuals online and my problem is knowing which ones to read; I hope you post back here which ones you use if you decide to go forward with R!

Packages I recommend are RStudio (point and click interface), rattle (data mining), grapher (graphing package) and if you are comfortable with SQL, the sqldf package is essential.

$\endgroup$
1
  • $\begingroup$ My internal debate seems without end! $\endgroup$
    – Behacad
    Commented Oct 9, 2013 at 16:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.