Programovanie

Ako spustiť R 4.0 v Dockri - a 3 skvelé nové funkcie R 4.0

V R 4.0 sú niektoré zaujímavé zmeny a aktualizácie. Tu sa pozriem na tri z nich. Navyše vám poskytnem podrobné pokyny na inštaláciu R 4.0, aby nezasahovala do vašej existujúcej inštalácie R. Spustením aplikácie R s Dockerom.

Docker je platforma na vytváranie „kontajnerov“ - úplne samostatných, izolovaných prostredí na vašom počítači. Predstavte si ich ako mini systém vo vašom systéme. Zahŕňajú vlastný operačný systém a potom všetko, čo k tomu chcete pridať - aplikačný softvér, skripty, údaje atď. Kontajnery sú užitočné na veľa vecí, ale tu sa zameriam iba na jednu: testovanie nových verzií softvéru. bez toho, aby ste skombinovali svoje súčasné miestne nastavenie.

Spustenie verzie R 4.0 a najnovšej ukážky vydania RStudio v kontajneri Docker je dosť jednoduché. Ak nechcete pokračovať v časti tohto tutoriálu týkajúcej sa Dockera a chcete iba vidieť, čo je nové v R, posuňte sa nadol do sekcie „Tri nové funkcie R 4.0“.

Spustite R 4.0 v kontajneri Docker

Ak ty by Ak chcete pokračovať, nainštalujte si do svojho počítača Docker, ak ho ešte nemáte: Prejdite na stránku //www.docker.com/products/docker-desktop a stiahnite si správnu verziu pre svoj počítač (Windows, Mac alebo Linux). Potom ho spustite. Niekde vo vašom systéme by mala byť zobrazená ikona Docker s veľrybami.

Sharon Machlis,

Ďalej potrebujeme obrázok Dockeru pre R 4.0. Obrázok Dockera si môžete predstaviť ako súbor pokynov na vytvorenie kontajnera s konkrétnym softvérom. Vďaka Adelmo Filho (vedec v oblasti dát v Brazílii) a projektu Rocker R Docker, ktorí poskytujú niekoľko veľmi užitočných obrázkov Dockera. Ich obrázky Dockeru som upravil len mierne, aby vytvoril ten, ktorý som použil v tomto návode.

Tu je syntax k bežať obrázok Dockeru vo vašom vlastnom systéme na vytvorenie kontajnera.

docker run --rm -p 8787: 8787 -v / path / to / local / dir: / home / rstudio / newdir username / docker_image_name: image_tag

docker je to, ako musíte spustiť akýkoľvek príkaz Dockeru. bežať Znamená to, že chcem spustiť obrázok a vytvoriť z neho kontajner. The --rm príznak znamená odstrániť kontajner, keď je hotový. Vy nie mať zahrnúť --rm; ale ak spustíte veľa kontajnerov a neodstránite ich, začnú zaberať veľa miesta na disku. The -p 8787: 8787 je potrebné iba pre obrázky, ktoré musia bežať na systémovom porte, čo robí RStudio (rovnako ako Shiny, ak to niekedy plánujete zahrnúť). Vyššie uvedený príkaz určuje port 8787, čo je obvyklé predvolené nastavenie programu RStudio.

The -v vytvára zväzok. Pamätáte si, keď som povedal, že kontajnery Docker sú samostatné a izolované? To znamená izolovaný. V predvolenom nastavení nemá kontajner prístup čokoľvek mimo neho a zvyšok vášho systému nemá prístup k ničomu vo vnútri kontajnera. Ale ak nastavíte zväzok, môžete prepojiť miestny priečinok s priečinkom vo vnútri kontajnera. Potom sa automaticky synchronizujú. Syntax:

-v cesta / do / lokálneho / adresára: / cesta / do / kontajnera / adresár

S programom RStudio zvyčajne používate / home / rstudio / meno_nového_adresára pre adresár kontajnera.

Na konci docker run príkaz je názov obrázka, ktorý chcete spustiť. Môj obrázok je rovnako ako mnoho obrázkov Dockeru uložený v službe Docker Hub, službe nastavenej spoločnosťou Docker na zdieľanie obrázkov. Rovnako ako v prípade GitHub, aj vy získate prístup k projektu zadaním a používateľské meno / meno. V tomto prípade tiež obvykle pridáte : the_tag, ktorý pomáha, ak existujú rôzne verzie rovnakého obrázka.

Nižšie je uvedený kód, ktorý môžete upraviť tak, aby fungoval môj obrázok pomocou aplikácie R 4.0 a najnovšej ukážky vydania RStudio vo vašom systéme. Uistite sa, že ste nahradili cestu k jednej z tvoj adresáre pre / Users / smachlis / Document / MoreWithR. Môžete to spustiť v okne terminálu Mac alebo v príkazovom riadku Windows alebo v okne PowerShell.

docker run --rm -p 8787: 8787 -v / Users / smachlis / Documents / MoreWithR: / home / rstudio / morewithr sharon000 / my_rstudio_image: verzia1

Keď tento príkaz spustíte prvýkrát, bude si Docker musieť stiahnuť obrázok z Docker Hubu, takže to môže chvíľu trvať. Potom, pokiaľ nevymažete miestnu kópiu obrázka, by to malo byť oveľa rýchlejšie.

Teraz, keď otvoríš localhost: 8787 v prehliadači by ste mali vidieť RStudio.

Sharon Machlis,

Predvolené užívateľské meno a heslo sú obidve rstudio, čo by samozrejme bolo hrozné, ak by ste to spúšťali v cloude. Ale myslím si, že na mojom lokálnom stroji je to v poriadku, pretože to bežne nemám akýkoľvek heslo na mojej bežnej pracovnej ploche RStudio.

Ak skontrolujete verziu R vo svojom kontajnerovom štúdiu R / RS, uvidíte, že má verziu 4.0. Program RStudio by mal mať verziu 1.3.947, posledné vydanie ukážky v čase, keď bol tento článok prvýkrát publikovaný. Obidve verzie sa líšia od verzií nainštalovaných v mojom lokálnom počítači.

Tri nové funkcie R 4.0

Pozrime sa teda na niekoľko nových funkcií verzie R 4.0.

Nové predvolené reťazce stringsAsFactors

V kóde nižšie vytváram jednoduchý údajový rámec s informáciami o štyroch mestách a potom skontrolujem štruktúru.

 Mesto <- c ("New York", "San Francisco", "Boston", "Seattle") Štát <- c ("NY", "CA", "MA", "Seattle") PopDensity <- c (26403 , 18838, 13841, 7962) densities <- data.frame (City, State, PopDensity) str (densities) 'data.frame': 4 obs. z 3 premenných: $ Mesto: chr "New York" "San Francisco" "Boston" "Seattle" $ Štát: chr "NY" "CA" "MA" "Seattle" $ PopDensity: num 26403 18838 13841 7962 

Všimli ste si niečo neočakávané? Mesto a štát sú reťazce znakov, aj keď som to nešpecifikoval stringsAsFactors = FALSE. Áno, konečne je predvolený údaj R data.frame stringsAsFactors = FALSE. Ak spustím rovnaký kód v staršej verzii R, bude faktorom mesto a štát.

Nové palety farieb a funkcií

Ďalej sa pozrime na novú zabudovanú funkciu v R 4.0: palette.pals (). To ukazuje niektoré vstavané palety farieb.

 palette.pals () [1] "R3" "R4" "ggplot2" "Okabe-Ito" [5] "Accent" "Dark 2" "Spárované" "Pastel 1" [9] "Pastel 2" "Sada 1" "Sada 2" "Sada 3" [13] "Tablo 10" "Klasické tablo" "Polychrómia 36" "Abeceda" 

Ďalšia nová funkcia, palette.colors (), poskytuje informácie o zabudovanej palete.

 palette.colors (palette = "Tableau 10") modrá oranžová červená svetlozelená zelená žltá fialová "# 4E79A7" "# F28E2B" "# E15759" "# 76B7B2" "# 59A14F" "# EDC948" "# B07AA1" ružovo hnedá svetlošedá " # FF9DA7 "" # 9C755F "" # BAB0AC " 

Ak potom spustíte váhy show_col () funkcie na výsledkoch získate pekné farebné zobrazenie palety.

scales :: show_col (palette.colors (palette = "Tableau 10"))

Sharon Machlis,

Vytvoril som malú funkciu kombinujúcu tieto dve, ktoré by mohli byť užitočné pri pohľade na niektoré vstavané palety v jednom riadku kódu:

display_built_in_palette <- funkcia (moja_paleta) {

scales :: show_col (palette.colors (palette = my_palette))

}

display_built_in_palette ("Okabe-Ito")

Sharon Machlis,

Žiadny z týchto kódov nefunguje v starších verziách R, pretože iba váhy :: show_col () je k dispozícii pred R 4.0.

Unikajúce znaky v reťazcoch

Na záver sa pozrime na novú funkciu, ktorá uľahčuje zahrnutie znakov, ktoré je obvykle potrebné v reťazcoch ukončiť.

Syntax je r "(môj reťazec tu)". Tu je jeden príklad:

string1 <- r "(„ Už nemusím uniknúť týmto „dvojitým úvodzovkám v úvodzovke,“ povedali.) "

Tento reťazec obsahuje neuvoľnené úvodzovky vo dvojici úvodzoviek. Ak zobrazím tento reťazec, dostanem toto:

 > cat (string1) „Už nemusím uniknúť týmto„ dvojitým úvodzovkám v úvodzovke, “povedali. 

Môžem vytlačiť aj doslovne \ n vo vnútri novej funkcie.

 string2 <- r "(tu je spätné lomítko n \ n)" mačka (string2) tu je spätné lomítko n \ n 

Bez špeciálneho r „()“ funkcie, že \ n sa číta ako zalomenie riadku a nezobrazuje sa.

 string3 <- "Tu je spätné lomítko n \ n" mačka (string3) Tu je spätné lomítko n 

Pred týmto v base R ste museli uniknúť z tohto spätného lomítka s druhým opačným lomítkom.

 string4 <- "Zvyčajné uniknuté \ n" mačka (string4) Zvyčajné uniknuté \ n 

V tomto príklade to nie je veľký problém, ale môže sa to skomplikovať, keď pracujete na niečom ako zložité regulárne výrazy.

V R 4.0 je oveľa viac nových. Všetky podrobnosti si môžete pozrieť na webovej stránke projektu R.

Viac informácií o používaní Dockeru s R nájdete v krátkom, ale vynikajúcom výučbe programu R Docker od rOpenSci Labs.

A ďalšie tipy R nájdete na stránke Robte viac s R!

$config[zx-auto] not found$config[zx-overlay] not found