Установка старой версии пакета R

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

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

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

Но install.packages не имеет аргумента version. Как это сделать?

Ответ 1

Чтобы установить более старую версию пакета из источника (внутри 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, возможно, это причина отсутствия подходящей цепочки инструментов для сборки/компиляции пакетов. Обычно вы должны установить предварительно скомпилированный двоичный файл из CRAN, но они только архивируют источники пакетов, а не двоичные файлы. [1] Это означает, что вам нужно установить Rtools, чтобы вы могли скомпилировать все локально. (Примечание: Rtools не является пакетом R.)

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

По состоянию на 18 сентября 2015 года в CRAN появился новый пакет версии. Это полагается на сервер Revolution Analytics MRAN для установки пакетов для определенных версий или дат:

# install yesterday 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, Command Prompt и т.д.), если у вас есть источник пакета ( "tarball" ) локально на вашем компьютере, например, используя 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 начал размещение сервера "CRAN Archive" , который содержит двоичные файлы Windows и Mac для очень старых версий R ( > 5 лет). Теперь вы можете напрямую установить этот сервер с помощью install.packages(). Для получения дополнительной информации см. Новый R FAQ 7.44.

Ответ 2

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

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

Ответ 3

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

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

Еще одна возможность, которую я еще не изучил:

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

Ответ 4

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

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

В R Studio: Инструменты → Установить пакеты → Установить из: (выберите раскрывающийся список)

Архив файла архива (.zip,.tar.gz).

Выберите новый загруженный пакет-zip файл и установите пакет

Ответ 5

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

Команда в библиотеке 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)