S-Plus在其GUI中内置了一个出色的对象浏览器和数据编辑器.它允许您一目了然地轻松查看工作区中的所有对象,并按名称,大小或日期对其进行排序.
据我所知,R的唯一等价物是JGR中的对象浏览器(http://jgr.markushelbig.org/).
否则我只是在大多数时候使用search()和ls()命令(当我有很多对象时,还有grep()).
# trivial example of routine: search() utils.list <- ls(pos="package:utils") utils.list[grep("edit",utils.list)]
有没有人有任何浏览R工作区的技巧或建议?有没有点击式解决方案?
Emacs 的ESS模式在其手册中有以下内容:
13.7 RdiredEss-rdired为您当前的R会话中的对象查看,编辑和绘图提供了类似描述的缓冲区.如果您习惯使用Emacs中的dired(目录编辑器)工具,则此模式为R对象提供类似的功能.
首先,请确保您可以加载ess-rdired.将以下内容添加到.emacs,然后重新启动emacs.
(autoload 'ess-rdired "ess-rdired" "View *R* objects in a dired-like buffer." t)
使用`Mx R'启动R会话,然后存储一些变量,例如:
s <- sin(seq(from=0, to=8*pi, length=100)) x <- c(1, 4, 9) y <- rnorm(20) z <- TRUE
然后使用`Mx ess-rdired'创建一个缓冲区,列出当前环境中的对象并将其显示在一个新窗口中:
mode length s numeric 100 x numeric 3 y numeric 20 z logical 1
键入C-h m
或?
获取此模式的键绑定列表.例如,将您的点放在变量的行上,p
将绘制对象,v
将查看它,并将d
对象标记为删除(x
将实际执行删除).
此SO问题中lsos()
显示的函数也是原始对象浏览器:
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>
RStudio有一个很好的对象浏览器.
str()非常有用.指定give.attr=FALSE
隐藏属性.
> 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 ...
Eclipse 的StatET插件为R,LaTeX和Sweave提供了一个很好的跨平台IDE,一旦你忍受了设置它的痛苦,就会有一个集成的R对象浏览器.