programing

이전 버전의 R 패키지 설치

closeapi 2023. 7. 5. 20:43
반응형

이전 버전의 R 패키지 설치

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

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

install.packages("ggplot2", version='0.9.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 패키지가 아닙니다.)

@아래의 답변은 또한 당신이 사용할 수 있는 경우를 만듭니다.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에 이진 패키지를 설치할 필요가 없고 2014-09-17(MRAN이 시작되었을 때)까지만 작동한다는 장점이 있습니다.

명령줄(R 외부)에서 이전 버전을 설치하는 방법

다을사여패설수있다습도니치를 .R CMD INSTALL 소스를 로컬로 예: "tarball", "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를 참조하십시오.

remotes는 패지가제는을 합니다.install_version직접 수행할 수 있는 함수입니다.

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

이전에, 이 대답은 다음을 가리켰습니다.devtools패키지, 그것은 또한 재지정합니다.install_version@Michael . @Michael @Michael Chirico를 지적해 주셔서 감사합니다.remotes패키지가 더 좋습니다.

순수하다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 구조가 아카이브된 버전의 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 꾸러미

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

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

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

패키지 보관 파일(.zip, .tar.gz).

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

용사를 합니다.install.packages다른 답변에서 설명한 것처럼 저에게는 효과가 없습니다.

가장 은 기능을 입니다.install_url됩니다.devtools.

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

  1. 패키지 아카이브에서 이전 .tar.gz 원본 파일을 다운로드합니다.
  2. http://rtm.wustl.edu/writings/htrtargz.pdf 에 문서화된 단계에 따라 로컬로 설치합니다.

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

  • 패키지의 및 ("CRAN"은 MRAN을 의미합니다).available.versions),

  • 합니다.install.versions), 또는

  • 할 수 있는 (설치 패키지 버전)install.dates )을 합니다.install.packages소스에서 컴파일할 필요 없이 사용 가능한 이진 버전을 설치할 수 있으며 지정된 날짜의 패키지 종속성을 포함할 수 있습니다.

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

좋은 해결책을 찾았고, 저에게 효과가 있었습니다(자세한 내용은 링크 참조).

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)

다른 옵션은 {groundhog} 패키지입니다.날짜를 지정하여 CRAN에서 이전 패키지 버전을 설치하는 데 도움이 됩니다.이것은 특정 패키지 버전이 기억나지 않고 스크립트가 아직 작동 중인 시간이 기억나지 않을 때 특히 유용합니다.2012년 5월에 CRAN에 {gplot2} 버전 0.9.1이 로드된 경우 6월부터 날짜를 잡을 수 있습니다.

library("groundhog")
groundhog.library("ggplot2", "2012-06-01")

언급URL : https://stackoverflow.com/questions/17082341/installing-older-version-of-r-package

반응형