Programavimas

Kaip paleisti „R 4.0“ „Docker“ - ir 3 šaunios naujos „R 4.0“ funkcijos

R 4.0 versijoje yra keletas įdomių pakeitimų ir atnaujinimų. Čia apžvelgsiu tris iš jų. Be to, aš duosiu jums žingsnis po žingsnio instrukcijas, kaip įdiegti R 4.0, kad tai netrukdytų jūsų esamam R diegimui - paleisdami R su „Docker“.

„Docker“ yra platforma, skirta kurti „konteinerius“ - visiškai savarankiškas, izoliuotas aplinkas jūsų kompiuteryje. Pagalvokite apie juos kaip apie mini sistemą savo sistemoje. Jie turi savo operacinę sistemą ir viską, ką norite pridėti - taikomąją programinę įrangą, scenarijus, duomenis ir kt. Konteineriai yra naudingi daugeliui dalykų, bet čia aš sutelksiu dėmesį tik į vieną: išbandykite naujas programinės įrangos versijas. nesukdami dabartinės vietinės sąrankos.

„Docker“ talpykloje paleisti R 4.0 ir naujausią „RStudio“ peržiūros versiją yra gana lengva. Jei nenorite sekti kartu su šios mokymo programos „Docker“ dalimi ir tiesiog norite pamatyti, kas naujo yra „R“, slinkite žemyn į skiltį „Trys naujos R 4.0 funkcijos“.

Paleiskite R 4.0 „Docker“ talpykloje

Jei tu būtų norėtumėte sekti toliau, įdiekite darbalaukio „Docker“ į savo sistemą, jei to dar neturite: Eikite į //www.docker.com/products/docker-desktop ir atsisiųskite tinkamą darbalaukio versiją savo kompiuteriui („Windows“, „Mac“ ar „Linux“). Tada paleiskite jį. Turėtumėte pamatyti banginių „Docker“ piktogramą, veikiančią kažkur jūsų sistemoje.

Sharon Machlis,

Tada mums reikia „Docker“ atvaizdo, skirto R 4.0. Galite galvoti apie „Docker“ vaizdą kaip instrukcijų rinkinį, kad sukurtumėte sudėtinį rodinį su įtraukta specialia programine įranga. Ačiū Adelmo Filho (duomenų mokslininkas Brazilijoje) ir „Rocker R Docker“ projektui, kurie pateikia labai naudingų „Docker“ vaizdų. Aš šiek tiek pakeičiau jų „Docker“ vaizdus, ​​kad būtų toks, kokį naudojau šioje pamokoje.

Čia yra sintaksė paleisti „Docker“ vaizdą savo sistemoje, kad sukurtumėte talpyklą.

„Docker Run“ --rm -p 8787: 8787 -v / path / to / local / dir: / home / rstudio / newdir vartotojo vardas / docker_image_name: image_tag

dokininkas yra tai, kaip jums reikia paleisti bet kokią „Docker“ komandą. paleisti reiškia, kad noriu paleisti vaizdą ir iš to vaizdo sukurti talpyklą. --rm vėliava reiškia išimti konteinerį, kai jis bus baigtas. Jūs neturite turėti Įtraukti --rm; bet jei paleisite daug konteinerių ir jų neištrinsite, jie pradės užimti daug vietos diske. -8787: 8787 reikalingas tik vaizdams, kurie turi veikti sistemos prievade, o tai daro „RStudio“ (kaip ir „Shiny“, jei planuojate kada nors tai įtraukti). Aukščiau nurodyta komanda nurodo 8787 prievadą, kuris yra įprastas „RStudio“ numatytasis nustatymas.

-v sukuria tūrį. Pamenate, kai sakiau, kad „Docker“ konteineriai yra savarankiški ir izoliuoti? Tai reiškia izoliuotas. Pagal numatytuosius nustatymus sudėtinis rodinys negali pasiekti nieko už jos ribų, o likusi jūsų sistema negali nieko pasiekti viduje konteinerį. Bet jei nustatote tomą, galite susieti vietinį aplanką su talpykloje esančiu aplanku. Tada jie automatiškai sinchronizuojami. Sintaksė:

-v kelias / į / vietinis / katalogas: / kelias / į / konteinerį / katalogą

Su „RStudio“ dažniausiai naudojate / home / rstudio / name_of_new_directory konteinerių katalogui.

Pasibaigus dokininko bėgimas komanda yra vaizdo, kurį norite paleisti, pavadinimas. Mano atvaizdas, kaip ir daugelis „Docker“ vaizdų, saugomas „Docker Hub“ - paslaugoje, kurią „Docker“ nustatė vaizdams dalytis. Kaip ir naudojant „GitHub“, prie projekto galite prisijungti nurodydami vartotojo vardas / pervardyti. Tokiu atveju jūs taip pat paprastai pridedate : the_ag, kuris padeda, jei yra skirtingos to paties vaizdo versijos.

Žemiau yra kodas, kurį galite modifikuoti, kad paleistumėte mano atvaizdą naudodamas R 4.0 ir naujausią „RStudio“ peržiūros leidimą savo sistemoje. Būtinai pakeiskite kelią į vieną iš tavo katalogai / Vartotojai / smachlis / Document / MoreWithR. Tai galite paleisti „Mac“ terminalo lange, „Windows“ komandų eilutėje arba „PowerShell“ lange.

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

Kai paleisite šią komandą pirmą kartą, „Docker“ reikės atsisiųsti vaizdą iš „Docker Hub“, todėl gali užtrukti. Po to, jei neištrinsite vietinės vaizdo kopijos, tai turėtų būti daug greičiau.

Dabar, kai atsidarai vietinis šeimininkas: 8787 naršyklėje turėtumėte pamatyti „RStudio“.

Sharon Machlis,

Numatytasis vartotojo vardas ir slaptažodis yra „rstudio“, kas, žinoma, būtų baisu, jei tai vykdytumėte debesyje. Bet manau, kad mano vietinėje mašinoje tai gerai, nes aš paprastai to neturiu bet koks slaptažodį mano įprastame „RStudio“ darbalaukyje.

Jei patikrinsite R versiją konteineriuose esančiame „R / RStudio“, pamatysite, kad tai yra 4.0 versija. „RStudio“ turėtų būti 1.3.947 versija - naujausias peržiūros leidimas tuo metu, kai šis straipsnis buvo pirmą kartą paskelbtas. Abi versijos skiriasi nuo tų, kurios įdiegtos mano vietinėje mašinoje.

Trys naujos „R 4.0“ funkcijos

Taigi dabar pažvelkime į keletą naujų „R 4.0“ funkcijų.

Numatytos naujos eilutės „AsFactors“

Žemiau esančiame kode sukuriu paprastą duomenų rėmelį su informacija apie keturis miestus ir tada tikrinu struktūrą.

 Miestas <- c („Niujorkas“, „San Franciskas“, „Bostonas“, „Sietlas“) valstija <- c („NY“, „CA“, „MA“, „Sietlas“) PopDensity <- c (26403 , 18838, 13841, 7962) tankiai <- data.frame (City, State, PopDensity) str (tankiai) 'data.frame': 4 obs. iš 3 kintamųjų: $ City: chr "New York" "San Francisco" "Boston" "Sietlas" $ State: chr "NY" "CA" "MA" "Sietlas" $ PopDensity: num 26403 18838 13841 7962 

Pastebėjote ką nors netikėto? Miestas ir Valstija yra simbolių eilutės, nors nenurodžiau stringsAsFactors = NETIESA. Taip, pagaliau pagal nutylėjimą yra „R data.frame“ stringsAsFactors = NETIESA. Jei tą patį kodą paleisiu senesnėje „R“ versijoje, veiksnys bus Miestas ir Valstija.

Naujos spalvų paletės ir funkcijos

Toliau pažvelkime į naują integruotą funkciją R 4.0: palette.pals (). Tai rodo kai kurias įmontuotas spalvų paletes.

 palette.pals () [1] "R3" "R4" "ggplot2" "Okabe-Ito" [5] "Akcentas" "Tamsus 2" "Pora" "Pastelė 1" [9] "Pastelė 2" "1 rinkinys" "Rinkinys 2" "Rinkinys 3" [13] "Lentelė 10" "Klasikinė lenta" "Polichromija 36" "Abėcėlė" 

Kita nauja funkcija, paletė.spalvos (), pateikia informaciją apie įmontuotą paletę.

 paletė.spalvos (paletė = "Tableau 10") mėlyna oranžinė raudona žalsvai raudona žalsvai violetinė "# 4E79A7" "# F28E2B" "# E15759" "# 76B7B2" "# 59A14F" "# EDC948" "# B07AA1" rausvai ruda šviesiai pilka " # FF9DA7 "" # 9C755F "" # BAB0AC " 

Jei tada paleisite svarstyklių paketą show_col () rezultatais, gausite gražų spalvų paletės vaizdą.

svarstyklės :: show_col (paletė.spalvos (paletė = "Tableau 10"))

Sharon Machlis,

Aš padariau nedidelę funkciją, apjungdamas abi, kurios gali būti naudingos peržiūrint kai kurias įmontuotas paletes vienoje kodo eilutėje:

display_built_in_palette <- funkcija (mano_paletė) {

svarstyklės :: show_col (paletė. spalvos (paletė = mano_paletė))

}

display_built_in_palette („Okabe-Ito“)

Sharon Machlis,

Nė vienas iš šio kodo neveikia ankstesnėse R versijose, nes tik svarstyklės :: show_col () yra iki R 4.0.

Pabėgę simbolius eilutėse

Galiausiai pažvelkime į naują funkciją, kuri palengvina simbolių, kurių paprastai reikia išvengti, įtraukimą į eilutes.

Sintaksė yra r "(mano eilutė čia)". Štai vienas pavyzdys:

string1 <- r "(„ Man nebereikia vengti šių „dvigubų kabučių citatos viduje“, - sakė jie.) "

Toje eilutėje dvigubų kabučių poroje yra neištrintas kabutė. Jei rodau tą eilutę, gaunu:

 > katė (eilutė1) „Man nebereikia vengti šių„ dvigubų kabučių citatos viduje “, - sakė jie. 

Aš taip pat galiu spausdinti pažodį \ n naujos funkcijos viduje.

 string2 <- r "(čia yra atgalinis pasvirasis brūkšnys n \ n)" cat (string2) Čia yra atgalinis pasvirasis brūkšnys n \ n 

Be ypatingo r "()" funkcija \ n skaitomas kaip eilutės pertrauka ir nerodomas.

 string3 <- "Čia yra atgalinis pasvirasis brūkšnys n \ n" katė (string3) Čia yra atgalinis pasvirasis brūkšnys n 

Prieš tai R bazėje turėjote pabėgti nuo atgalinio brūkšnio su antru atgaliniu brūkšniu.

 string4 <- "Įprasta pabėgo \ n" katė (eilutė4) Įprasta pabėgo \ n 

Šiame pavyzdyje tai nėra didelis dalykas, tačiau jis gali komplikuotis, kai dirbate panašių į sudėtingus reguliarius posakius.

„R 4.0“ yra daug daugiau naujų. Visą išsamią informaciją galite sužinoti R projekto svetainėje.

Norėdami sužinoti daugiau apie „Docker“ naudojimą su „R“, peržiūrėkite „rOpenSci Labs“ trumpą, bet puikią „R Docker“ mokymo programą.

Norėdami gauti daugiau „R“ patarimų, eikite į puslapį „Daugiau su R“!