The RStudio integrated development environment (IDE) was first released in 2011. The goals of its creators, so far as I can tell, were these. First, they wanted to provide a better R coding experience than could be had through the bare-bones text editor that shipped with R itself. They also wanted to take into account the fact that many new users of R had no previous programming experience, and so had no familiarity with the kinds of tools that support efficient coding workflows. The RStudio IDE was intended to provide a relatively simple unified interface to R, its command line, help system, and plots. It eventually expanded to include limited interfaces to command line utilities like (e.g.,) git and pandoc, which can usefully supplement an R based workflow. Importantly, RStudio was geared toward novice programmers who might be coding only in R.
That said, there are other IDEs that will get the job done. Many of these are more general purpose tools, supporting a number of programming languages beyond R (as indeed RStudio has recently come to do). When you are new to coding and to R, the simplest thing may be to just go with the RStudio IDE. It is a very popular choice if only because it is so heavily promoted by RStudio, Inc. and its team of developer/evangalists. But you may eventually want to explore options other than RStudio. Toward that end, here is a partial list of other IDEs that you might consider.
In the interest of full disclosure, I'll say that I have been using Emacs/ESS for all my R work since I started with R c2001. It was an easy choice for me since I had already been using Emacs for general programming since the late 80s, and its ESS plugin for interacting with SAS for statistical work since about 1994. That said, there is an apocryphal maxim about Emacs, often attributed to Bill Venables, that goes: "The first five years of Emacs are the worst; after that, it's just difficult." It's not true, not entirely, but Emacs is a powerful and complex tool with a learning curve to match. OTOH, it's worth considering the many people who've stuck with Emacs while fully aware of the alternatives and their limitations.
Of course, there are a number of viable alternatives beyond either RStudio or Emacs/ESS. At any rate, I hope you find something useful here. If there's an IDE that I have omitted, that you believe should be on the list, do let me know.
I guess a good opening question is that of what distinguishes a basic text editor from a full-fledged IDE. I'm not going to try to put too fine a point on it here, but in no particular order, a few of the things you might look for in an IDE, beyond basic text editing capabilities, are:
- integration of debugging and profiling tools
- integration of version control tools (e.g., git)
- integration of other coding tools: lint, make, etc.
- syntactic highlighting
- autocompletion and templating
- execute lines or chunks of code (at least for interpreted languages, like R)
There is a wikipedia page that goes into some depth as to the general outlines of IDEs: https://en.wikipedia.org/wiki/Integrated_development_environment. You may also want to look at: https://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments. Although, the section on R IDEs is woefully out of date (as of April 2021).
What follows is a list of IDEs (other than RStudio) that include support for writing code in R, together with at least most of the capabilities listed above.
I've only included text-editor based IDEs here. I am aware of the many GUI style interfaces that exist, but I'm not interested in that method of interacting with R.
I've recently discovered another list of IDEs for RStats here: https://github.com/qinwf/awesome-R#integrated-development-environments . It is a bit more comprehensive than this one, and includes some of the GUI based interfaces to R.
Eclipse based IDE for R and other languages.
Emacs is a venerable text editor/IDE and one of the original GNU tools. There are a huge number of extensions for it, that make it a truly comprehensive environment for writing and developing code in just about any language you can name. The crucial extension for R users is ESS (Emacs Speaks Statistics), which provides tools for getting work done in R (and S-Plus), SAS, Stata, Julia, Bugs, Jag, and maybe more. There are, of course, extensions to support other languages of interest to the DS inclined crowd, including support for Python and Matlab. For git users, Emacs' Magit extension provides a very slick interface to that tool. There are also extensions for project management (Projectile), (r)markdown editing, and much more.
In my experience, the easiest way to get Emacs up and running under Windows or MacOS is to use one of Vince Goulet's platform specific releases, avaliable here: https://vgoulet.act.ulaval.ca/en/home/.
https://www.gnu.org/software/emacs/
https://en.wikipedia.org/wiki/Emacs_Speaks_Statistics
https://en.wikipedia.org/wiki/Project_Jupyter
https://visualstudio.microsoft.com/
https://en.wikipedia.org/wiki/Visual_Studio_Code
https://visualstudio.microsoft.com/vs/features/rtvs/
https://github.com/REditorSupport/vscode-R
https://notepad-plus-plus.org/
https://en.wikipedia.org/wiki/Notepad%2B%2B
https://sourceforge.net/projects/npptor/
Eclipse based IDE for R. Essentially, this is an R plugin for Eclipse.
http://www.walware.de/goto/statet
https://en.wikipedia.org/wiki/Eclipse_(software)
Sublime text is a commercial product. There is an unlimited duration free evaluation period, but terms of use explicitly state that "Sublime Text may be downloaded and evaluated for free, however a license must be purchased for continued use." What's more, so far as I can tell, the very latest version is only available to those with paid up licenses.
https://en.wikipedia.org/wiki/Sublime_Text
https://github.com/REditorSupport/sublime-ide-r
https://github.com/vim-scripts/Vim-R-plugin
https://en.wikipedia.org/wiki/Vim_(text_editor)
Also see NeoVim and similarly named plugin.