Comparing RStudio and Spyder

1 minute read

Recently I have been searching for a Python’s IDE that is similar to R’s RStudio. While ipython notebook is better than text editor for data analysis, it suffers from two problems still:

  • version control is difficult as output in the notebook may change even though the code doesn’t (e.g. when there’s a randomized element in the analysis).
  • the input-output layout is meant to be narrative, which is not ideal for analysis. For example, when there are many plots, I have to scroll up and down a lot to navigate. Because of its focus on narrative, ipython notebook resembles knitr more than RStudio.

After much searching, I found Spyder, which is an almost-perfect equivalent of RStudio. It comes pre-packaged with Anaconda and works seamlessly with IPython and the suite of data science libraries (numpy, pandas, etc.)

Here I compare the most important features of RStudio and Spyder so that one can make a quick switch between the two. One could read Spyder’s tutorial, but for an experienced data analyst much of it is fluff.

RStudio and Spyder comparison

Function Rstudio Spyder
Run Ctrl - R F5 to run the entire script
F9 to run selection or line
Re-Run Ctrl + Shift + P Ctrl + F6
Help help() help() – Will also show the doc string of your own function
  F1 with cursor over object Ctrl-i with cursor over object
Clean workspace rm(list = ls()) %reset
%reset -f to skip confirmation
Auto-completion TAB TAB
Go to Source F2 with cursor over object Ctrl+Left Click on object
Debug debug()
debugonce()
Ctrl + F5 starts pdb
%debug starts debug where exception occurs
Search across Files Ctrl + Shift + F Ctrl + Shift + F
Variable Viewer Environment pane (top right) Variable Explorer pane (top right)

Tweaks to make Spyder more like Rstudio

  • Plot in a separate windows (instead of default inline): Tools, Preferences, Ipython Console, Graphics and under Graphics Backend select “automatic” instead of “inline”

Unique Spyder features and tips

  • Console: Use ipython console instead of python console
  • Style: Go to Preferences > Editor > Code Introspection/Analysis and select the tickbox next to Style analysis (PEP8)
  • Cell (similar to ipython notebook): Ctrl+Enter executes the current cell. A cell is defined as the code between two lines which start with the agreed tag #%%. Shift+Enter executes the current cell and advances the cursor to the next cell

Updated:

Leave a Comment