Вопрос:

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

r ggplot2 installation version r-faq

68202 просмотра

6 ответа

9511 Репутация автора

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

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

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

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

Автор: hirolau Источник Размещён: 13.06.2013 08:16

Ответы (6)


136 плюса

36907 Репутация автора

Решение

Чтобы установить более старую версию пакета из исходного кода (в 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 ниже также дает основания для использования devtools::install_version(). Это также хорошая идея, но также требует использования Rtools в Windows.

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

# 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командной строки (Терминал, Командная строка и т. Д.), Если у вас есть локальный источник пакета («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 для некоторых деталей.

Автор: Thomas Размещён: 13.06.2013 08:32

5 плюса

1930 Репутация автора

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

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

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

  1. Загрузите более старый исходный файл .tar.gz из архивов пакетов.
  2. Следуйте инструкциям, приведенным на http://rtm.wustl.edu/writings/htrtargz.pdf, чтобы установить его локально.
Автор: asieira Размещён: 14.08.2013 09:34

77 плюса

18479 Репутация автора

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

require(devtools)
install_version("ggplot2", version = "0.9.1", repos = "http://cran.us.r-project.org")
Автор: shadow Размещён: 24.04.2015 07:07

4 плюса

51 Репутация автора

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

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

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

Файл архива пакета (.zip, .tar.gz).

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

Автор: user23899 Размещён: 07.12.2015 09:25

4 плюса

361 Репутация автора

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

Команда в библиотеке "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)
Автор: Aybek Khodiev Размещён: 14.12.2015 06:20

1 плюс

872 Репутация автора

Чистый install.packagesметод

Смотрите эту ветку в списке рассылки r-devel . В ответ Курту Уилеру Курт Хорник раскрывает недокументированную функцию веб-сайта CRAN, чтобы указать конкретную версию пакета.

Этот метод будет работать до тех пор, пока у вас уже установлены все необходимые зависимости:

package = "https://cran.r-project.org/package=svglite&version=1.2.1"
utils::install.packages(pkgs = package, repos = NULL)

Обратите внимание на структуру URL выше. Это решает проблему, связанную с тем, что CRAN имеет другую структуру URL для последней версии, чем для архивных версий:

# Latest version (not available at Archive/svglite)
https://cran.r-project.org/src/contrib/svglite_1.2.1.tar.gz
# Archived version
https://cran.r-project.org/src/contrib/Archive/svglite/svglite_1.2.0.tar.gz

remotes::install_version метод

Другой вариант - использовать remotes::install_version функцию . Однако вам нужно будет установить remotes пакет .

Автор: Daniel Himmelstein Размещён: 04.03.2019 09:10
Вопросы из категории :
32x32