Reputation: 100164
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
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
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
Reputation: 368231
The ESS mode for Emacs has the following to say in its manual:
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
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
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
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
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