이전 버전의 R 패키지 설치


134

Rpy2와 ggplot2를 사용하려고하는데 오류가 발생합니다. 온라인에서 오류를 검색 한 후 Rgp2에 아직 반영되지 않은 ggplot2 패키지의 변경 사항이 있기 때문에 오류가 발생하는 것을 발견했습니다 (예 : 이 게시물 (편집 : 링크가 현재 죽었습니다) 참조).

이제 ggplot2의 이전 버전을 설치해야합니다. 내가 원하는 것에 대한 의사 코드는 다음과 같습니다.

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

그러나 논쟁 install.packages은 없습니다version . 어떻게합니까?


답변:


150

소스 (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(). 또한 좋은 생각이지만 Windows에서 Rtools가 필요합니다.

2015 년 9 월 18 일 현재 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에 바이너리 패키지를 설치할 필요가 없다는 장점이 있지만 MRAN이 시작된 2014-09-17로 돌아가는 경우에만 작동합니다.

명령 줄에서 이전 버전을 설치하려면 (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 년 3 월부터 CRAN은 이전 버전의 R (> 5 세) 용 Windows 및 Mac 바이너리가 포함 된 "CRAN Archive"서버 를 호스팅하기 시작했습니다 . 이제를 사용하여이 서버에서 직접 설치할 수 있습니다 install.packages(). 자세한 내용은 새로운 R FAQ 7.44 를 참조하십시오.


4
고맙습니다, 그것이 올바른 방법이라고 생각합니다. 내가 너무 나쁘게 지금 얻을 : Warning message: package ‘http://cran.r-project.org/src/contrib/Archive/ggplot2/ggplot2_0.9.1.tar.gz’ is not available (for R version 2.15.2)
hirolau

3
Rcpp와 비슷한 문제가 있습니다. 패키지의 R 버전 종속성 (DEPENDS : <version>) 때문일 수도 있고 실행중인 R 세션으로 인해 업데이트를 수행하지 못할 수도 있습니다. 내가 찾은 것은 Mark Butler (아래)가 제안한 방식 (R CMD INSTALL your_version.tar.gz)으로 업데이트를 수행하는 것이 었습니다. 이것은 필자의 경우 R 2.15.3이었습니다.
Robert Casey

@Antoine Windows에 있습니까? 그렇다면, Rtools가 설치되어 있습니까?
Thomas

@Thomas 답변 해 주셔서 감사합니다. 예, Rtools가 "의사 설치"된 Windows에서는이 스레드를 참조하십시오 .
Antoine

@Thomas 머신에서 명백한 로컬 문제 (라이브러리 경로, R 버전과 패키지 버전, 컴파일 문제 등)를 피하기 위해 Amazon EC2에서 스크립트를 실행하려고합니다.
Antoine

87

remotes패키지는 제공 install_version직접이 작업을 수행 할 수있는 기능.

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

이전에는이 ​​답변이 devtools패키지를 가리키며이 패키지는 install_version함수를 다시 내 보냅니다 . remotes패키지가 바람직 하다는 점을 지적한 @MichaelChirico에게 감사 합니다.


install_version특정 버전을로드하려고 할 때마다 동일한 패키지의 여러 버전을 유지할 수 있습니까? 말하자면,library(ggplot2-0.9.1)
PatrickT

1
@PatrickT 로컬 라이브러리를 사용하여이를 수행 할 수 있습니다. 예를 들면 다음 install_version('ggplot2', version = 0.9.1, lib = 'path_to_library_with_ggplot_0.9.1')과 같습니다.library(ggplot2, lib.loc = 'path_to_library_with_ggplot_0.9.1')
shadow

1
install_version을 실행하기 전에 .libPaths ( "/ dir_for_custom_library_versions")를 사용할 수도 있습니다.
tjjjohnson

1
요즘 생각 remotes::install_version하기 때문에 바람직하다 remotes보다 훨씬 더 경량 패키지입니다 devtools( devtools::install_version단지 재수출되는 remotes::install_version)
MichaelChirico

5

install.packages다른 답변에 설명 된대로 사용하면 작동하지 않습니다.

내가 찾은 가장 좋은 대안 install_url은 package 함수를 사용하는 것 devtools입니다.

더 이상 탐구하지 않은 또 다른 가능성 :

  1. 패키지 아카이브에서 이전 .tar.gz 소스 파일을 다운로드하십시오.
  2. http://rtm.wustl.edu/writings/htrtargz.pdf 에 설명 된 단계에 따라 로컬로 설치하십시오.

이것은 저에게 효과적이지 않습니다 . 세부 사항 은 내 질문 stackoverflow.com/q/22673474/684229 를 따르십시오 .
TMS

+1,이 R CMD INSTALL명령은 우분투에서도 작동합니다. 감사!!
Phani

5

아래 링크에서 적절한 버전을 zip 파일로 다운로드 할 수 있습니다.

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

R Studio에서 : 도구 >> 패키지 설치 >> 다음에서 설치 : (선택 드롭 다운)

패키지 아카이브 파일 (.zip, .tar.gz).

새로 다운로드 한 package-zip 파일을 선택하고 패키지를 설치하십시오.


4

나를 위해 일한 좋은 해결책을 찾았습니다 (세부 사항은 링크에 있습니다 ).

"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)

1

순수한 install.packages방법

r-devel 메일 링리스트에서이 스레드를 참조하십시오 . Kurt Wheeler에 대한 응답으로 Kurt Hornik은 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 패키지 를 설치해야 합니다 .


0

2014-09-17 이후에 릴리스 된 패키지 버전의 경우이 작업을 상당히 단순화 하는 versions패키지 가 있습니다. Revolution Analytics에서 MRAN 서버의 스냅 샷을 사용하여 다음을 수행합니다.

  • CRAN 패키지 ( available.versions) 의 릴리스 날짜 및 MRAN 가용성 표시

  • 하나 이상의 패키지 ( install.versions) 의 지정된 버전을 설치 하거나

  • 지정된 날짜 ( install.dates)부터 사용 가능한 패키지 버전을 설치하십시오 . 표준 install.packages기능을 통해 MRAN 서버에서 설치 하므로 소스에서 컴파일하지 않고 사용 가능한 바이너리 버전을 설치할 수 있으며 지정된 날짜의 패키지 종속성을 포함 할 수 있습니다.

물론 패키지 버전과 R 버전의 조합에 호환성 문제가있을 수 있습니다. 다른 R 버전을 실행하려면 이 페이지를 참조하십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.