Есть ли способ установить пакеты R, используя emacs?
Я использую ESS, но каждый раз, когда мне нужно установить новый пакет, я должен использовать R gui. Разве нет способа сделать это, не выходя из Emacs?
4 ответа
От 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))
})
http://www.emacswiki.org/emacs/anything-R.el хорошо работает для меня.
Если вы не помните ярлык для установки пакета, вы можете пройти через главное меню Handy команды.
Если вы печатаете ,
в нижнем буфере R в качестве первого символа (т. е. у маркера процесса) вы запускаете удобное меню команд в минибуфере, как показано на следующем рисунке:
Обратите внимание, как вы можете интерактивно выбирать пункты меню, вводя начальные символы (как в Emacs isearch). Конечно, вы можете просто использовать стрелки.
Выбрать install.packages
(машинопись i
следует с последующим enter
должно быть достаточно).
В следующем меню вам представлен список зеркал CRAN:
Выберите удобное зеркало. ESS получит доступные пакеты
Затем вам будет представлен список устанавливаемых пакетов.
Выберите тот, который вам нужен, и все готово.
Обратите внимание, что при второй установке пакета в текущем сеансе вам не предлагается повторно выбирать зеркало.
Если вы не знакомы с удобными командами ESS, вы можете найти здесь много других команд... очень удобных. В частности, что касается предмета здесь, library
Команда может помочь, потому что вы можете наслаждаться автозаполнением, полезно также, когда вам нужно загрузить пакет, но вы не помните его написание.
Возможно, вы захотите использовать стандартные диалоги R GUI из Emacs. В этом случае, по крайней мере в Windows, для правильного отображения диалоговых окон используйте:
library('tcltk')
install.packages()