Uppdatera R från R (på Windows) – med hjälp av paketet {installr}

Det är inte lätt att uppgradera R på Windows. Även om R FAQ erbjuder riktlinjer kan vissa användare föredra att helt enkelt köra ett kommando för att uppgradera sitt R till den senaste versionen. Det är vad det nya paketet {installr} handlar om.

Paketet {installr} erbjuder en uppsättning R-funktioner för installation och uppdatering av programvara (för närvarande endast på Windows OS), med särskilt fokus på själva R. För att uppdatera R kan du helt enkelt köra följande kod:

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

Att köra den här funktionen kommer att utföra följande steg:

  • Kontrollera vilken som är den senaste R-versionen. Om den nuvarande installerade R-versionen är aktuell avslutas funktionen (och returnerar FALSE)

  • Om en nyare version av R finns tillgänglig, kommer du att tillfrågas om du vill granska NYHETEN i den senaste R-versionen – för att besluta om du ska installera den
    nyare R-versionen eller inte.

  • Om du önskar det – kommer funktionen att ladda ner och installera den senaste R-versionen. (du måste själv trycka på ”next”-knapparna)

  • När installationen är klar ska du trycka på ”any-key”, och funktionen kommer att fortsätta med att kopiera alla dina paket från din gamla (ja, nuvarande) R-installation, till din nyare R-installation.

  • Du kan sedan radera alla paket i din gamla R-installation.

  • När dina paket har flyttats (och de gamla eventuellt raderats) får du möjlighet att uppdatera alla dina paket i den nya versionen av R.

  • Till sist – du kan öppna den nya Rgui och stänga den aktuella sessionen av din gamla R. (Detta är lite buggigt i version 0.8, men har korrigerats i version 0.8.1)

Om du vet att du vill uppgradera R och du vill att paketen ska flyttas (inte kopieras, FLYTTAS) kan du helt enkelt köra:

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

Då de olika stegen är uppdelade i enskilda funktioner kan du också välja vad som ska köras med hjälp av den relevanta funktionen:

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

Om du gillar att använda det globala bibliotekssystemet kan du köra följande i den gamla R:

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

Och sedan köra följande i den nya versionen av R:

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

Paketet {installr} erbjuder också funktioner för att installera olika andra programvaror i Windows. Dessa funktioner inkluderar: install.pandoc (som nämndes på den här bloggen nyligen), install.git, install.Rtools, install.MikTeX, install.RStudio samt allmänna funktioner install.URL och install.packages.zip. Dessa förklaras närmare i paketets referensmanual.

Feature requests, bug reports – and your help in improving the package

Du kan se den senaste versionen av installr på github, där du också kan skicka in felrapporter (du kan också bara lämna en kommentar i det här inlägget). Eftersom detta är mitt första R-paket kan jag ha (t.ex.: förmodligen) missat något här eller där. Så alla kommentarer om hur jag kan förbättra min kod/dokumentation/R-fu är mycket välkomna (här eller på github).

Om den här typen av kodning är rolig/lätt för dig kan du hjälpa mig att förbättra det här paketet på github. Coola nya funktioner som jag tror kan läggas till (av mig eller andra) är:

  • Lägg till en uninstall.R-funktion – för att ta bort den gamla R-versionen.
  • Lägg till mer stöd för uppgradering av R för personer som använder ett globalt bibliotek för sina paket.
  • Lägg till stöd för Linux och Mac! Den här är jag mindre benägen att göra på egen hand – och skulle gärna se att någon annan utökar min kod till andra operativsystem.
  • GUI – lägg till ett menybaserat alternativ för att köra updateR. Något i stil med help->”check for updates” skulle vara bra. (p.s: den här idén kom från Yihui Xie)
  • tillsätt ännu fler funktioner för install.software. Om du har funktioner som du vill att man enkelt ska kunna installera dem – låt mig veta så kan det inkluderas i framtida versioner.

Tack

Slutligt vill jag tacka de många människor som har utvecklat VÄRLIGA verktyg för att göra utveckling av R-paket möjlig (och till och med någorlunda snabb), på Windows. Dessa inkluderar professor Brian Ripley och Duncan Murdoch för Rtools, även Uwe Ligges för hans arbete med CRAN, Hadley Wickham för devtools (i allmänhet och för dess dokumentation), Yihui Xie för roxygen2, JJ och andra i RStudio teamet för RStudio, människorna bakom git och github, med flera. Det finns förmodligen fler saker som jag kan tacka dessa personer för, och många fler personer som jag borde tacka, men jag kan inte räkna ut vem ni förmodligen är (skicka gärna e-post till mig, jag uppskattar ert arbete även om det inte är tydligt för mig att ni ligger bakom det).

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *