7

I am using ESS, but every time I need to install a new package I have to use R gui. Isn't there a way to do this without leaving emacs?

Gavin Simpson
  • 170,508
  • 25
  • 396
  • 453
user443854
  • 7,096
  • 13
  • 48
  • 63

4 Answers4

9

From help(Startup):

 ## Example of Rprofile.site
 local({
   # add MASS to the default packages, set a CRAN mirror
   old <- getOption("defaultPackages"); r <- getOption("repos")
   r["CRAN"] <- "http://my.local.cran"
   options(defaultPackages = c(old, "MASS"), repos = r)
   ## (for Unix terminal users) set the width from COLUMNS if set
   cols <- Sys.getenv("COLUMNS")
   if(nzchar(cols)) options(width = as.integer(cols))
 })
Dirk Eddelbuettel
  • 360,940
  • 56
  • 644
  • 725
8

C-c C-e i

It will take a few seconds to load all packages.

Anusha
  • 1,716
  • 2
  • 23
  • 27
2

If you don't remember the shortcut for package setup, you can go through the Handy commands main menu.

If you type , in the inferior R buffer as the first character (i.e. at the process marker), you trigger the handy commands menu in the minibuffer, like in the following figure:

install-pack

Note how you can interactively select menu items by typing the initial characters (like with Emacs isearch). Of course you can simply use the arrows.

Select install.packages (typing i followed by enter should be enough).

In the subsequent menu, you are presented with the CRAN mirror list:

CRAN mirror list

Select a convenient mirror. ESS will fetch the available packages

Fetch the available packages

You are then presented with the list of installable packages.

installable packages

Select the one that you need and you are done.

Note that the second time you install a package in the current session you are not requested to reselect the mirror.

If you are not familiar with ESS handy commands, you might find here many other commands very ... well handy. Particularly, as regards the subject matter here, the library command might help, because you can enjoy auto-completion, useful also when you need to load a package, but you do not remember its spelling.

You might want to use the standard R GUI dialogues from Emacs. In this case, at least in Windows, to display properly the dialogue boxes, use:

library('tcltk')
install.packages()
antonio
  • 10,629
  • 13
  • 68
  • 136
2

http://www.emacswiki.org/emacs/anything-R.el works well for me.

  • Thanks for the pointer about 'anything', the Emacs Wiki entry is interesting. Yet another mode to try... – Dirk Eddelbuettel Jul 11 '11 at 12:53
  • Thanks, I use anything, but did not know about anything-R. So once installed, which command should I use? I tried a few obvious choices such as "install package", but did not see anything promising. – user443854 Jul 11 '11 at 14:33
  • 1
    @user443854 You need to define a function and then call it like:` (defun orp-R-anything () (interactive) (anything-other-buffer '( anything-c-source-R-local anything-c-source-R-help ;; anything-c-source-R-localpkg ;; anything-c-source-R-repospkg ) " *R-anything*")) ' – Otto Pichlhoefer Aug 13 '11 at 18:37
  • Hmm, that can't be the "real" answer (@Otto), as the anything-R.el file explicitly contains functionality for install.packages() – Martin Mächler Aug 19 '11 at 07:04