Installing older version of R package

前端 未结 7 1548
梦毁少年i
梦毁少年i 2020-11-22 11:06

I am trying to use Rpy2 and ggplot2 but I get an error. After some searching for the error online, I found that the error occurs because there are changes in the ggplot2 pac

相关标签:
7条回答
  • 2020-11-22 11:42

    You can download your appropriate version from the link below as a zip file.

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

    In R Studio: Tools >> Install packages >> Install from: (select drop down)

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

    Choose your newly-downloaded-package-zip-file and install the package

    0 讨论(0)
  • 2020-11-22 11:46

    Using install.packages as described in another answer does not work for me.

    The best alternative I found is to use function install_url from package devtools.

    Another possibility that I have not explored further:

    1. Download the older .tar.gz source file from the package archives.
    2. Follow the steps documented on http://rtm.wustl.edu/writings/htrtargz.pdf to install it locally.
    0 讨论(0)
  • 2020-11-22 11:47

    Pure install.packages method

    See this thread on the r-devel mailing list. In reply to Kurt Wheeler, Kurt Hornik reveals an undocumented feature of the CRAN website to specify the specific version of a package.

    This method will work as long as you have all required dependencies already installed:

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

    Note the URL structure above. This addresses the issue that CRAN has a different URL structure for the latest version than for archived versions:

    # 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 method

    Another option is to use the remotes::install_version function. However, you will need to install the remotes package.

    0 讨论(0)
  • 2020-11-22 11:51

    To install an older version of a package from source (within R):

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

    If this doesn't work for you and you're on Windows, the reason is probably the lack of an appropriate tool chain for building/compiling packages. Normally you would install a pre-compiled binary from CRAN but they only archive package sources, not binaries.[1] This means you need to install Rtools so that you can compile everything locally. (Note: Rtools is not an R package.)

    @shadow's answer below also makes the case that you can use devtools::install_version(). That's also a good idea, but is also subject to needing Rtools on Windows.

    As of September 18, 2015, a new package versions has appeared on CRAN. This relies on the Revolution Analytics MRAN server to install packages for specific versions or dates:

    # 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'))
    

    That has the advantage of not requiring Rtools to install binary packages on Windows, but only works going back to 2014-09-17 (when MRAN was launched).

    To install an older version from the command line (outside of R):

    You can also install a package by using R CMD INSTALL on the command line (Terminal, Command Prompt, etc.) once you have the package source ("tarball") locally on your machine, for example using wget (if you have it):

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

    or, if you're on Windows, an equivalent using PowerShell would be:

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

    or you can just download the source from the CRAN archive via your web browser.

    To install from the local file, you can just do:

    R CMD INSTALL ggplot2_0.9.1.tar.gz
    

    That should work on any platform (with the same caveat - as above - about needing a tool chain for building packages).


    [1]This is no longer entirely true. From March 2016, CRAN has started hosting a "CRAN Archive" server that contains Windows and Mac binaries for very old versions of R (> 5 years old). You can now install directly from this server using install.packages(). See new R FAQ 7.44 for some details.

    0 讨论(0)
  • 2020-11-22 11:56

    Found a good solution, which worked for me (the details are at the link).

    Command in "repmis" library:

    # 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)
    
    0 讨论(0)
  • 2020-11-22 11:58

    There is a versions package that simplifies this task considerably, for package versions released since 2014-09-17. It uses snapshots of the MRAN server at Revolution Analytics to:

    • show release dates and MRAN availability of any CRAN package (available.versions),

    • install specified versions of one or more packages(install.versions), or

    • install package versions available as of any specified date (install.dates). It does the installation from the MRAN server via the standard install.packages function, so available binary versions can be installed instead of having to compile from source, and package dependencies as of the specified date can be included.

    There might of course be compatibility issues with combinations of package versions and R versions. For running different R versions, see for example this page.

    0 讨论(0)
提交回复
热议问题