R Language
Pakketten installeren
Zoeken…
Syntaxis
- install.packages (pkgs, lib, repos, methode, destdir, afhankelijkheden, ...)
parameters
Parameter | Details |
---|---|
pkgs | tekenvector van de namen van pakketten. Als repos = NULL , een karaktervector van bestandspaden. |
lib | tekenvector die de bibliotheekmappen geeft waar de pakketten moeten worden geïnstalleerd. |
repos | tekenvector, de basis-URL ('s) van de te gebruiken repositories, kan NULL zijn om vanuit lokale bestanden te installeren |
methode | download methode |
DESTDIR | map waarin gedownloade pakketten worden opgeslagen |
afhankelijkheden | logisch om aan te geven of ook niet-geïnstalleerde pakketten moeten worden geïnstalleerd waarvan deze pakketten afhankelijk zijn / koppelen aan / importeren / voorstellen (enzovoort recursief). Niet gebruikt als repos = NULL . |
... | Argumenten die moeten worden doorgegeven aan 'download.file' of aan de functies voor binaire installaties op OS X en Windows. |
Opmerkingen
Pakketten downloaden en installeren vanuit repositories
Pakketten zijn verzamelingen van R-functies, gegevens en gecompileerde code in een goed gedefinieerd formaat . Openbare (en privé) opslagplaatsen worden gebruikt om collecties van R-pakketten te hosten. De grootste verzameling R-pakketten is verkrijgbaar bij CRAN.
CRAN gebruiken
Een pakket kan vanuit CRAN worden geïnstalleerd met behulp van de volgende code:
install.packages("dplyr")
Waar naar "dplyr"
wordt verwezen als een karaktervector.
Meerdere pakketten kunnen in één keer worden geïnstalleerd door de combinatiefunctie c()
en een reeks karaktervector van pakketnamen door te geven:
install.packages(c("dplyr", "tidyr", "ggplot2"))
In sommige gevallen kan install.packages
vragen om een CRAN-mirror of mislukken, afhankelijk van de waarde van getOption("repos")
. Om dit te voorkomen, geeft u een CRAN mirror op als repos
argument:
install.packages("dplyr", repos = "https://cloud.r-project.org/")
Met behulp van het repos
argument is het ook mogelijk om vanuit andere repositories te installeren. Voor volledige informatie over alle beschikbare opties, voer ?install.packages
.
De meeste pakketten vereisen functies, die werden geïmplementeerd in andere pakketten (bijvoorbeeld de data.table
). Om een pakket (of meerdere pakketten) alle pakketten die worden gebruikt door deze gegeven pakket te installeren, het argument dependencies
worden ingesteld op TRUE
):
install.packages("data.table", dependencies = TRUE)
Bioconductor gebruiken
Bioconductor herbergt een substantiële verzameling pakketten met betrekking tot Bioinformatica. Ze bieden hun eigen pakketbeheer rond de biocLite
functie:
## Try http:// if https:// URLs are not supported
source("https://bioconductor.org/biocLite.R")
biocLite()
Standaard installeert dit een subset van pakketten die de meestgebruikte functionaliteit bieden. Specifieke pakketten kunnen worden geïnstalleerd door een vector met pakketnamen door te geven. Om bijvoorbeeld RImmPort
van Bioconductor te installeren:
source("https://bioconductor.org/biocLite.R")
biocLite("RImmPort")
Installeer pakket van lokale bron
Pakket installeren vanuit lokaal bronbestand:
install.packages(path_to_source, repos = NULL, type="source")
install.packages("~/Downloads/dplyr-master.zip", repos=NULL, type="source")
Hier is path_to_source
absolute pad van het lokale bronbestand.
Een andere opdracht die een venster opent om gedownloade zip- of tar.gz-bronbestanden te kiezen is:
install.packages(file.choose(), repos=NULL)
Een andere mogelijke manier is het gebruik van de GUI-gebaseerde RStudio :
Stap 1: Ga naar Tools .
Stap 2: Ga naar Pakketten installeren .
Stap 3: Stel het in de Install From in als Package Archive File (.zip; .tar.gz)
Stap 4: Dan Browse vind uw pakket bestand (zeg crayon_1.3.1.zip) en na enige tijd (na het toont het pad en de bestandsnaam van de verpakking in het tabblad Package Archive)
Een andere manier om het R-pakket van de lokale bron te installeren, is met de functie install_local()
van het devtools-pakket.
library(devtools)
install_local("~/Downloads/dplyr-master.zip")
Installeer pakketten van GitHub
Om pakketten rechtstreeks vanuit GitHub te installeren, gebruikt u het devtools
pakket:
library(devtools)
install_github("authorName/repositoryName")
Om ggplot2
te installeren vanuit github:
devtools::install_github("tidyverse/ggplot2")
Het bovenstaande commando zal de versie van installeren ggplot2
die overeenkomt met de master branch. Om te installeren vanuit een andere tak van een repository gebruikt u het argument ref
om de naam van de tak op te geven. Met de volgende opdracht wordt bijvoorbeeld de tak dev_general
van het googleway
pakket googleway
.
devtools::install_github("SymbolixAU/googleway", ref = "dev_general")
Een andere optie is om het ghit
pakket te gebruiken. Het biedt een lichtgewicht alternatief voor het installeren van pakketten van github:
install.packages("ghit")
ghit::install_github("google/CausalImpact")
Om een pakket dat is in een prive-repository op GitHub te installeren, het genereren van een persoonlijke toegangscode token op http://www.github.com/settings/tokens/ (zie? Install_github voor documentatie over hetzelfde). Volg deze stappen:
install.packages(c("curl", "httr"))
config = httr::config(ssl_verifypeer = FALSE)
install.packages("RCurl") options(RCurlOptions = c(getOption("RCurlOptions"),ssl.verifypeer = FALSE, ssl.verifyhost = FALSE ) )
getOption("RCurlOptions")
Je zou het volgende moeten zien:
ssl.verifypeer ssl.verifyhost FALSE FALSE
library(httr) set_config(config(ssl_verifypeer = 0L))
Dit voorkomt de veel voorkomende fout: "Peer-certificaat kan niet worden geverifieerd met bepaalde CA-certificaten"
Gebruik ten slotte de volgende opdracht om uw pakket naadloos te installeren
install_github("username/package_name",auth_token="abc")
U kunt ook een omgevingsvariabele GITHUB_PAT
met behulp van
Sys.setenv(GITHUB_PAT = "access_token")
devtools::install_github("organisation/package_name")
De PAT die is gegenereerd in Github is slechts eenmaal zichtbaar, dat wil zeggen wanneer deze aanvankelijk is gemaakt, dus het is verstandig om dat token in .Rprofile
op te .Rprofile
. Dit is ook handig als de organisatie veel privérepository's heeft.
Een CLI-pakketmanager gebruiken - basisgebruik van pacman
pacman
is een eenvoudige pakketbeheerder voor R.
pacman
kan een gebruiker alle gewenste pakketten compact laden en alle pakketten die ontbreken (en hun afhankelijkheden) installeren, met één opdracht, p_load
. pacman
vereist niet dat de gebruiker aanhalingstekens rond een pakketnaam typt. Basisgebruik is als volgt:
p_load(data.table, dplyr, ggplot2)
Het enige pakket waarvoor een library
, require
, of install.packages
statement met deze benadering is pacman
zelf:
library(pacman)
p_load(data.table, dplyr, ggplot2)
of, even geldig:
pacman::p_load(data.table, dplyr, ggplot2)
Naast het besparen van tijd door minder code te vereisen om pakketten te beheren, vergemakkelijkt pacman
ook de constructie van reproduceerbare code door de benodigde pakketten te installeren als en alleen als ze nog niet zijn geïnstalleerd.
Aangezien u misschien niet zeker weet of pacman
is geïnstalleerd in de bibliotheek van een gebruiker die uw code zal gebruiken (of door uzelf bij toekomstig gebruik van uw eigen code), is het een goede praktijk om een voorwaardelijke verklaring op te nemen om pacman
te installeren als dit nog niet is gebeurd geladen:
if(!(require(pacman)) install.packages("pacman")
pacman::p_load(data.table, dplyr, ggplot2)
Installeer de lokale ontwikkelingsversie van een pakket
Bij het ontwikkelen van een R-pakket is het vaak nodig om de nieuwste versie van het pakket te installeren. Dit kan worden bereikt door eerst een brondistributie van het pakket te bouwen (op de opdrachtregel)
R CMD build my_package
en vervolgens te installeren in R. Alle actieve R-sessies waarbij de vorige versie van het pakket is geladen, moeten opnieuw worden geladen.
unloadNamespace("my_package")
library(my_package)
Een handiger aanpak maakt gebruik van het devtools
pakket om het proces te vereenvoudigen. In een R-sessie met de werkmap ingesteld op de pakketmap
devtools::install()
zal het pakket bouwen, installeren en herladen.