Updating R from R (on Windows) – using the {installr} package

Upgrading R on Windows is not easy. Deși FAQ R oferă îndrumări, unii utilizatori pot prefera să execute pur și simplu o comandă pentru a-și actualiza R la cea mai recentă versiune. Acesta este scopul noului pachet {installr}.

Pachetul {installr} oferă un set de funcții R pentru instalarea și actualizarea software-ului (în prezent, doar pe sistemul de operare Windows), cu un accent special pe R însuși. Pentru a actualiza R, puteți rula pur și simplu următorul cod:

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

Executarea acestei funcții va efectua următorii pași:

  • Verificați care este cea mai recentă versiune R. Dacă versiunea R instalată în prezent este actualizată, funcția se termină (și returnează FALSE)

  • Dacă este disponibilă o versiune mai nouă a R, veți fi întrebat dacă doriți să revizuiți NOUTĂȚILE celei mai recente versiuni R – pentru a decide dacă să instalați sau nu cel
    mai nou R.

  • Dacă doriți acest lucru – funcția va descărca și va instala cea mai recentă versiune R. (va trebui să apăsați singuri butoanele „next”)

  • După ce instalarea este gata, trebuie să apăsați „any-key”, iar funcția va proceda la copierea tuturor pachetelor dvs. din vechea (mă rog, actuala) instalare R, în cea mai nouă instalare R.

  • Apoi puteți șterge toate pachetele din vechea dvs. instalare R.

  • După ce pachetele dvs. sunt mutate (și, eventual, cele vechi sunt șterse), veți avea opțiunea de a actualiza toate pachetele dvs. în noua versiune de R.

  • În cele din urmă – puteți deschide noul Rgui și închide sesiunea curentă a vechiului dvs. R. (Acest lucru este un pic eronat în versiunea 0.8, dar a fost corectat în versiunea 0.8.1)

Dacă știți că doriți să actualizați R și doriți ca pachetele să fie mutate (nu copiate, MUTATE), puteți rula pur și simplu:

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

Din moment ce diferitele etape sunt împărțite în funcții individuale, puteți, de asemenea, să alegeți ce să executați folosind funcția relevantă:

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

Dacă vă place să folosiți sistemul global de biblioteci, puteți rula următoarele în vechiul 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.

Și apoi să rulați următoarele în noua versiune de R:

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

Pachetul {installr} oferă, de asemenea, funcții pentru instalarea diverselor alte programe pe Windows. Aceste funcții includ: install.pandoc (care a fost menționat recent pe acest blog), install.git, install.Rtools, install.MikTeX, install.RStudio, precum și o funcție generală install.URL și install.packages.zip. Le puteți vedea explicate mai detaliat în manualul de referință al pachetului.

Solicitări de funcții, rapoarte de erori – și ajutorul dumneavoastră în îmbunătățirea pachetului

Puteți vedea cea mai recentă versiune a installr pe github, unde puteți, de asemenea, să trimiteți rapoarte de erori (puteți, de asemenea, să lăsați doar un comentariu în această postare). Având în vedere că acesta este primul meu pachet R, s-ar putea (de exemplu: probabil că am) să fi omis ceva aici sau acolo. Așa că orice comentariu despre cum să-mi îmbunătățesc codul/documentația/R-fu, va fi binevenit (aici sau pe github).

Dacă acest tip de codare este distractiv/ușor pentru dumneavoastră, mă puteți ajuta să îmbunătățesc acest pachet pe github. Noile caracteristici interesante care cred că ar putea fi adăugate (de mine sau de alții) sunt:

  • Adaugați o funcție uninstall.R – pentru a elimina vechea versiune R.
  • Adaugați mai mult suport pentru actualizarea R pentru persoanele care folosesc o bibliotecă globală pentru pachetele lor.
  • Adaugați suport pentru Linux și Mac! Aceasta sunt mai puțin probabil să o fac pe cont propriu – și mi-ar plăcea să văd că altcineva îmi extinde codul la alte sisteme de operare.
  • GUI – adăugați o opțiune bazată pe meniu pentru a rula updateR. Ceva de genul help->”check for updates” ar fi grozav. (p.s: această idee a venit de la Yihui Xie)
  • adăugați și mai multe funcții install.software. Dacă aveți funcții pentru care ați dori să le puteți instala cu ușurință – anunțați-mă și ar putea fi incluse în versiunile viitoare.

Mulțumiri

Nota finală, aș dori să le mulțumesc numeroșilor oameni care au dezvoltat instrumente MINUNATE pentru a face posibilă (și chiar oarecum rapidă) dezvoltarea pachetelor R, pe Windows. Printre aceștia se numără profesorii Brian Ripley și Duncan Murdoch pentru Rtools, de asemenea, Uwe Ligges pentru munca sa la CRAN, Hadley Wickham pentru devtools (în general, și pentru documentația sa), Yihui Xie pentru roxygen2, JJ și alții din echipa RStudio pentru RStudio, oamenii din spatele git și github, și mulți alții. Probabil că sunt mai multe lucruri pentru care le pot mulțumi acestor oameni și multe alte persoane cărora ar trebui să le mulțumesc, dar nu-mi dau seama cine sunteți probabil (nu ezitați să îmi trimiteți un e-mail, vă apreciez munca chiar dacă nu îmi este clar cine sunteți în spatele ei).

.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *