R bijwerken vanuit R (op Windows) – met het {installr} pakket

R bijwerken op Windows is niet eenvoudig. Hoewel de R FAQ richtlijnen geeft, zullen sommige gebruikers er de voorkeur aan geven om gewoon een commando uit te voeren om hun R naar de laatste versie te upgraden. Dat is waar het nieuwe {installr} pakket over gaat.

Het {installr} pakket biedt een set R functies voor het installeren en updaten van software (momenteel alleen op Windows OS), met een speciale focus op R zelf. Om R te updaten, kunt u simpelweg de volgende code uitvoeren:

# installing/loading the package:if(!require(installr)) {install.packages("installr"); require(installr)} #load / install+load installr# using the package:updateR() # this will start the updating process of your R installation. It will check for newer versions, and if one is available, will guide you through the decisions you'd need to make.

Het uitvoeren van deze functie zal de volgende stappen uitvoeren:

  • Controleer wat de laatste R-versie is. Als de huidige geïnstalleerde R-versie up-to-date is, eindigt de functie (en wordt FALSE geretourneerd)

  • Als er een nieuwere versie van R beschikbaar is, wordt u gevraagd of u de NEWS van de nieuwste R-versie wilt bekijken – om te beslissen of u de
    nieuwe R wilt installeren of niet.

  • Als u dat wenst – zal de functie de nieuwste R-versie downloaden en installeren. (U moet zelf op de knoppen “volgende” drukken)

  • Zodra de installatie is voltooid, moet u op “any-key” drukken, waarna de functie al uw pakketten uit uw oude (nou ja, huidige) R-installatie kopieert naar uw nieuwere R-installatie.

  • U kunt vervolgens alle pakketten in uw oude R-installatie wissen.

  • Nadat uw pakketten zijn verplaatst (en de oude eventueel zijn gewist), krijgt u de optie om al uw pakketten bij te werken in de nieuwe versie van R.

  • Tot slot – u kunt de nieuwe Rgui openen en de huidige sessie van uw oude R sluiten. (Dit is een beetje buggy in versie 0.8, maar is verholpen in versie 0.8.1)

Als je weet dat je R wilt upgraden, en je wilt de pakketten verplaatst hebben (niet gekopieerd, GEMODIFICEERD), dan kun je eenvoudigweg het volgende uitvoeren:

# installing/loading the package:if(!require(installr)) { install.packages("installr"); require(installr)} #load / install+load installrupdateR(F, T, T, F, T, F, T) # install, move, update.package, quit R.

Omdat de verschillende stappen zijn onderverdeeld in afzonderlijke functies, kun je ook kiezen wat je wilt uitvoeren met behulp van de relevante functie:

# installing/loading the package:if(!require(installr)) { install.packages("installr"); require(installr)} #load / install+load installr# step by step functions:check.for.updates.R() # tells you if there is a new version of R or not.install.R() # download and run the latest R installercopy.packages.between.libraries() # copy your packages to the newest R installation from the one version before it (if ask=T, it will ask you between which two versions to perform the copying)

Als u het globale bibliotheeksysteem wilt gebruiken, kunt u het volgende in de oude R uitvoeren:

# installing/loading the package:if(!require(installr)) { install.packages("installr"); require(installr)} #load / install+load installrupdateR(F, T, F, F, F, F, T) # only install R (if there is a newer version), and quits it.

En dan het volgende in de nieuwe versie van R uitvoeren:

source("https://www.r-statistics.com/wp-content/uploads/2010/04/upgrading-R-on-windows.r.txt")New.R.RunMe()

Het {installr} pakket biedt ook functies voor het installeren van diverse andere software onder Windows. Deze functies omvatten: install.pandoc (die onlangs op deze blog werd genoemd), install.git, install.Rtools, install.MikTeX, install.RStudio, en een algemene install.URL en install.packages.zip functies. U kunt deze verder uitgelegd zien in de referentiehandleiding van het pakket.

Verzoeken voor functies, bugrapporten – en uw hulp bij het verbeteren van het pakket

U kunt de laatste versie van installr zien op github, waar u ook bugrapporten kunt indienen (u kunt ook gewoon een reactie achterlaten in dit bericht). Aangezien dit mijn eerste R-pakket is, heb ik misschien (bijvoorbeeld: waarschijnlijk) hier of daar iets over het hoofd gezien. Dus elk commentaar over hoe ik mijn code/documentatie/R-fu kan verbeteren, zal zeer welkom zijn (hier of op github).

Als dit soort coderen leuk/makkelijk voor je is, kun je me helpen dit pakket op github te verbeteren. Leuke nieuwe functies die ik denk dat toegevoegd kunnen worden (door mij of anderen) zijn:

  • Een uninstall.R functie toevoegen – om de oude R versie te verwijderen.
  • Meer ondersteuning toevoegen voor het upgraden van R voor mensen die een globale bibliotheek gebruiken voor hun pakketten.
  • Ondersteuning toevoegen voor Linux en Mac! Dit zal ik waarschijnlijk niet in mijn eentje doen – en ik zou graag zien dat iemand anders mijn code uitbreidt naar andere besturingssystemen.
  • GUI – voeg een menu-gebaseerde optie toe voor het uitvoeren van updateR. Iets als help->”check for updates” zou geweldig zijn. (p.s: dit idee kwam van Yihui Xie)
  • voeg nog meer install.software functies toe. Als je functies hebt waarvoor je ze gemakkelijk zou willen kunnen installeren – laat het me weten en het zou kunnen worden opgenomen in toekomstige releases.

Dank

Eindnoot, ik wil graag de vele mensen bedanken die WONDERFUL tools hebben ontwikkeld om R package ontwikkeling mogelijk (en zelfs enigszins snel) te maken, op Windows. Hiertoe behoren Prof. Brian Ripley en Duncan Murdoch voor Rtools, ook Uwe Ligges voor zijn werk aan CRAN, Hadley Wickham voor devtools (in het algemeen, en voor de documentatie), Yihui Xie voor roxygen2, JJ en anderen in het RStudio team voor RStudio, de mensen achter git en github, en meer. Er zijn waarschijnlijk nog veel meer dingen waar ik deze mensen voor kan bedanken, en nog veel meer mensen die ik zou moeten bedanken, maar ik kan er niet achter komen wie jullie waarschijnlijk zijn (voel je vrij om me te e-mailen, ik waardeer jullie werk, ook al is het me niet duidelijk wie jullie erachter hebben zitten).

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *