Shane
Shane

Reputation: 100164

Are there any good R object browsers?

S-Plus has a great object explorer and data editor built into its GUI. It allows you to easily see all the objects in the workspace at a glance, and sort them by name, size, or date.

As far as I'm aware, the only equivalent for R is the object browser in JGR (http://jgr.markushelbig.org/).

Otherwise I just use the search() and ls() commands most of the time (along with grep() when I have a lot of objects).

# trivial example of routine:
search()
utils.list <- ls(pos="package:utils")
utils.list[grep("edit",utils.list)]

Does anyone have any tricks or suggestions for browsing the R workspace? Are there any point-and-click solutions?

Upvotes: 28

Views: 4476

Answers (8)

Brandon Bertelsen
Brandon Bertelsen

Reputation: 44648

What about Rattle?

Rattle stands for R Analytical Tool To Learn Easily. According to the website Rattle ''is a popular GUI for data mining using R. It presents statistical and visual summaries of data, transforms data that can be readily modelled, builds both unsupervised and supervised models from the data, presents the performance of models graphically, and scores new datasets.''

Upvotes: 3

djhurio
djhurio

Reputation: 5536

RStudio has a nice object browser.

Upvotes: 13

Ari B. Friedman
Ari B. Friedman

Reputation: 72731

The StatET plugin for Eclipse, which provides a nice cross-platform IDE for R, LaTeX, and Sweave, has an integrated object browser for R once you suffer through the pain of getting it all set up.

Upvotes: 5

Dirk is no longer here
Dirk is no longer here

Reputation: 368231

The ESS mode for Emacs has the following to say in its manual:

13.7 Rdired

Ess-rdired provides a dired-like buffer for viewing, editing and plotting objects in your current R session. If you are used to using the dired (directory editor) facility in Emacs, this mode gives you similar functionality for R objects.

To get started, first make sure you can load ess-rdired. Add the following to your .emacs and then restart emacs.

 (autoload 'ess-rdired "ess-rdired"  
   "View *R* objects in a dired-like buffer." t)  

Start an R session with `M-x R' and then store a few variables, such as:

 s <- sin(seq(from=0, to=8*pi, length=100))
 x <- c(1, 4, 9)
 y <- rnorm(20)
 z <- TRUE

Then use `M-x ess-rdired' to create a buffer listing the objects in your current environment and display it in a new window:

             mode length
   s      numeric    100
   x      numeric      3
   y      numeric     20
   z      logical      1

Type C-h m or ? to get a list of the keybindings for this mode. For example, with your point on the line of a variable, p will plot the object, v will view it, and d will mark the object for deletion (x will actually perform the deletion).

Upvotes: 19

Farrel
Farrel

Reputation: 10444

I use Tinn-R which has a wonderful R explorer window which shows a list of objects. One can also chosose the view in which details of the objects are displayed. Tinn-r is a great script editor (which is its primary purpose) and has some shortcuts such as dataframe.name$[ctrl-shift-D] which brings up a list of column names in dataframe.name so that the programmer does not need to remember them and their exact spelling.

Upvotes: 3

Aaron Statham
Aaron Statham

Reputation: 2068

The rkward R IDE has an inbuilt object browser/editor which seems quite useful, however I haven't used it much myself

screenshots here

Upvotes: 3

Dirk is no longer here
Dirk is no longer here

Reputation: 368231

The lsos() function shown in this SO questions is also a primitive object browser:

R> lsos()
               Type  Size Rows Columns
ls.objects function 11792   NA      NA
lsos       function  1112   NA      NA
s           numeric   824  100      NA
y           numeric   184   20      NA
x           numeric    56    3      NA
z           logical    32    1      NA
R> 

Upvotes: 17

ekorn
ekorn

Reputation:

str() is very useful. Specifying give.attr=FALSE hides attributes.

> str(diamonds)
'data.frame':   53940 obs. of  10 variables:
 $ carat  : num  0.23 0.21 0.23 0.29 0.31 0.24 0.24 0.26 0.22 0.23 ...
 $ cut    : Factor w/ 5 levels "Fair","Good",..: 5 4 2 4 2 3 3 3 1 3 ...
 $ color  : Factor w/ 7 levels "D","E","F","G",..: 2 2 2 6 7 7 6 5 2 5 ...
 $ clarity: Factor w/ 8 levels "I1","SI2","SI1",..: 2 3 5 4 2 6 7 3 4 5 ...
 $ depth  : num  61.5 59.8 56.9 62.4 63.3 62.8 62.3 61.9 65.1 59.4 ...
 $ table  : num  55 61 65 58 58 57 57 55 61 61 ...
 $ price  : int  326 326 327 334 335 336 336 337 337 338 ...
 $ x      : num  3.95 3.89 4.05 4.2 4.34 3.94 3.95 4.07 3.87 4 ...
 $ y      : num  3.98 3.84 4.07 4.23 4.35 3.96 3.98 4.11 3.78 4.05 ...
 $ z      : num  2.43 2.31 2.31 2.63 2.75 2.48 2.47 2.53 2.49 2.39 ...

Upvotes: 6

Related Questions