2013-06-13 3 views
89

Я пытаюсь использовать Rpy2 и ggplot2, но получаю сообщение об ошибке. После некоторого поиска ошибки в Интернете, я обнаружил, что ошибка возникает из-за изменений в пакете ggplot2, которые еще не отражены в Rpy2 (например, см. this post (Edit: Link уже мертв)).Установка старой версии пакета R

Так что теперь мне нужно установить более старую версию ggplot2. Вот псевдо-код для того, что я хочу:

install.packages("ggplot2", version='0.9.1') 

Но install.packages does not have a version argument. Как мне это сделать?

+0

попробовать 'checkBuilt'? http://stackoverflow.com/questions/16503554/r-3-0-0-update-has-left-loads-of-2-x-packages-incompatible – isomorphismes

ответ

107

Чтобы установить более старую версию пакета от источника (в R):

packageurl <- "http://cran.r-project.org/src/contrib/Archive/ggplot2/ggplot2_0.9.1.tar.gz" 
install.packages(packageurl, repos=NULL, type="source") 

Если это не работает для вас, и вы на Windows, причина, вероятно, the lack of an appropriate tool chain for building/compiling packages , Обычно вы должны установить предварительно скомпилированный двоичный файл из CRAN, но они только архивируют источники, а не бинарные файлы. [1] Это означает, что вам необходимо установить Rtools, чтобы вы могли скомпилировать все локально. (Примечание: Rtools is not an R package.)

@ ответ тени below также делает случай, что вы можете использовать devtools::install_version(). Это тоже хорошая идея, но также требуется Rtools для Windows.

По состоянию на 18 сентября 2015 года, a new package versions has appeared on CRAN. Это зависит от сервера Revolution Analytics MRAN для установки пакетов для конкретных версий или дат:

# install yesterday's version of checkpoint, by date 
install.dates('checkpoint', Sys.Date() - 1) 

# install earlier versions of checkpoint and devtools 
install.versions(c('checkpoint', 'devtools'), c('0.3.3', '1.6.1')) 

Это имеет то преимущество, что не требуется Rtools установить бинарные пакеты на Windows, но работает только вернуться в 2014-09-17 (когда MRAN был запущен).

Чтобы установить более старую версию из командной строки (за пределами R):

Вы также можете установить пакет с помощью R CMD INSTALL в командной строке (Terminal, Командная строка и т.д.) один раз у вас есть исходный пакет («тарболл») локально на вашем компьютере, например, с помощью wget (если есть):

wget http://cran.r-project.org/src/contrib/Archive/ggplot2/ggplot2_0.9.1.tar.gz 

или, если вы на Windows, эквивалент с помощью PowerShell будет:

(new-object System.Net.WebClient).DownloadFile("http://cran.r-project.org/src/contrib/Archive/ggplot2/ggplot2_0.9.1.tar.gz", "./ggplot2_0.9.1.tar.gz") 

или вы можете просто загрузить источник из архива CRAN через веб-браузер.

Для установки из локального файла, вы можете просто сделать:

R CMD INSTALL ggplot2_0.9.1.tar.gz 

Это должно работать на любой платформе (с той же оговоркой - как указано выше - о необходимости цепочки инструментов для сборки пакетов).


[1] Это уже не совсем верно.С марта 2016 года в CRAN стартовал a "CRAN Archive" server, содержащий двоичные файлы Windows и Mac для очень старых версий R (> 5 лет). Теперь вы можете установить прямо с этого сервера с помощью install.packages(). Для получения дополнительной информации см. Новый R FAQ 7.44.

+4

Спасибо, я думаю, это правильный путь. Жаль, что я сейчас получаю: 'Предупреждающее сообщение: package 'http://cran.r-project.org/src/contrib/Archive/ggplot2/ggplot2_0.9.1.tar.gz' не доступен (для R версия 2.15.2) ' – hirolau

+3

Имел аналогичную проблему с Rcpp. Это может быть связано с зависимостью версии R от пакета (DEPENDS: ), или может быть, что текущий сеанс R не позволит вам выполнить обновление. То, что я нашел, работало для меня, - это выполнить обновление так, как предложил Марк Батлер (ниже) (R CMD INSTALL your_version.tar.gz). Это было для R 2.15.3 в моем случае. –

+0

@Antoine Вы в Windows? И если это так, у вас установлен Rtools? – Thomas

4

Использование install.packages, как описано в другом ответе, не работает для меня.

Лучшей альтернативой, которую я нашел, является использование функции install_url из пакета devtools.

Другой возможность, что я не исследовал дальше:

  1. Скачать старший исходный файл .tar.gz из архивов пакетов.
  2. Чтобы установить его локально, выполните действия, описанные на http://rtm.wustl.edu/writings/htrtargz.pdf.
+0

Это не работает для меня, пожалуйста, следуйте моему вопросу http://stackoverflow.com/q/22673474/684229. – TMS

+0

+1, команда 'R CMD INSTALL' работает и на Ubuntu. Благодаря!! – Phani

52

Пакет devtools предлагает функцию install_version, которая может делать это напрямую.

require(devtools) 
install_version("ggplot2", version = "0.9.1", repos = "http://cran.us.r-project.org") 
3

Вы можете загрузить соответствующую версию из приведенной ниже ссылки в виде zip-файла.

http://cran.r-project.org/src/contrib/Archive/ggplot2/

В R Студия: Tools >> Установка пакетов >> Установка из: (выберите раскрывающийся)

Package Archive File (.zip, .tar.gz).

Выберите недавно скачанный-пакет-зип-файл и установить пакет

3

Найдено хорошее решение, которое работало для меня (детали находятся в link).

Команда в "repmis" библиотеки:

# Install old versions of the e1071 and gtools packages. 

# Create vectors of the package names and versions to install 
# Note the names and version numbers must be in the same order 
Names <- c("e1071", "gtools") 
Vers <- c("1.6", "2.6.1") 

# Install old package versions into the default library 
InstallOldPackages(pkgs = Names, versions = Vers) 
Смежные вопросы