2009-09-06 3 views
26

S-Plus dispose d'un excellent explorateur d'objets et d'un éditeur de données intégré dans son interface graphique. Il vous permet de voir facilement tous les objets de l'espace de travail et de les trier par nom, taille ou date. Pour autant que je sache, le seul équivalent pour R est le navigateur d'objet dans JGR (http://jgr.markushelbig.org/). Dans le cas contraire, j'utilise simplement les commandes search() et ls() la plupart du temps (avec grep() quand j'ai beaucoup d'objets).Y a-t-il de bons navigateurs d'objet R?

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

Est-ce que quelqu'un a des astuces ou des suggestions pour parcourir l'espace de travail R? Y a-t-il des solutions pointer-cliquer?

+0

Merci pour toutes les réponses! La réponse de Dirk était à la fois la plus populaire et la plus pertinente. – Shane

Répondre

16

La fonction lsos() montre this SO questions est également un navigateur objet primitif:

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> 
+1

J'utilise l'enfer hors de la fonction lsos() mais je l'ai légèrement modifié pour que les tailles soient affichées avec un joli formatage: http://stackoverflow.com/questions/1358003/tricks-to -manage-le-availabl e-mémoire-dans-une-session-r/2410412 # 2410412 –

19

Le mode ESS pour Emacs a ceci à dire dans son manuel:

13,7 Rdired

Ess-rdired fournit un tampon Dired comme pour la visualisation, l'édition et traçage des objets dans votre session en cours de R . Si vous avez l'habitude d'utiliser la fonction dired (éditeur d'annuaire) dans Emacs, ce mode vous donne fonctionnalité similaire pour les objets R.

Pour commencer, assurez-vous d'abord que vous pouvez charger ess-rdired. Ajoutez le suivant à vos .emacs, puis redémarrez emacs.

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

Démarrer une session R avec `Mx R 'et puis stocker quelques variables, telles comme:

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

ensuite utiliser` Mx ess-rdired' pour créer un tampon listant les objets votre environnement actuel et l'afficher dans une nouvelle fenêtre:

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

type C-h m ou ? pour obtenir une liste de les raccourcis clavier pour ce mode. Par exemple, avec votre point sur la ligne d'une variable, p tracera l'objet, v Assistons, et d marquera l'objet pour la suppression (x va réellement effectuer la suppression).

+0

Dirk, est-ce que ça te dérange de mettre le code elisp dans un bloc de code? Merci. –

+0

Hm, quel code elisp? Tout ce que j'ai cité ci-dessus est directement tiré du manuel ESS. Le code lui-même est dans le paquet ESS. –

+0

Oh. Pardon. Je pensais que "(autoload 'ess-redired ..." était élispé, je pensais que c'était censé être dans un bloc de code, veuillez ignorer.) –

5

str() est très utile. La spécification give.attr=FALSE masque les attributs.

> 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 ... 
+0

C'est exactement ce que je voulais trouver! Ce que je cherchais vraiment, c'était la fonction que RStudio utilise Cheers! – guenthmonstr

3

Le rkward R IDE a un navigateur d'objet intégré/éditeur qui semble très utile, mais je ne l'ai pas utilisé beaucoup moi-même

screenshots here

3

Qu'en est-Rattle?

Rattle signifie R A nalytical T ool T o L gagnent E asily. Selon le site Web Rattle '' est une interface graphique populaire pour l'exploration de données utilisant R. Il présente des résumés statistiques et visuels des données, transforme les données qui peuvent être facilement modélisées, construit des modèles non supervisés et supervisés à partir des données, présente la performance des modèles graphiquement, et scores de nouveaux jeux de données. ''

3

J'utilise Tinn-R qui a une merveilleuse fenêtre Explorateur R qui montre une liste d'objets. On peut également choisir la vue dans laquelle les détails des objets sont affichés. Tinn-r est un excellent éditeur de script (qui est son but principal) et a quelques raccourcis tels que dataframe.name $ [ctrl-shift-D] qui fait apparaître une liste de noms de colonnes dans dataframe.name afin que le programmeur ne besoin de se souvenir d'eux et de leur orthographe exacte.

5

Le StatET plugin pour Eclipse, qui fournit un bon IDE multiplate-forme pour R, LaTeX et Sweave, a un navigateur d'objets intégré pour R une fois que vous souffrez à cause de la mise en place.

Questions connexes