Programmēšana

Kā palaist R 4.0 Docker - un 3 atdzist jaunas R 4.0 funkcijas

R 4.0 ir dažas interesantas izmaiņas un atjauninājumi. Šeit es apskatīšu trīs no tām. Plus, es jums sniegšu detalizētus norādījumus par R 4.0 instalēšanu, lai tas netraucētu jūsu esošajai R instalēšanai - palaižot R ar Docker.

Docker ir platforma, lai izveidotu “konteinerus” - pilnīgi patstāvīgas, izolētas vides datorā. Padomājiet par tiem kā par mini sistēmu savā sistēmā. Tajos ietilpst sava operētājsistēma un pēc tam viss, ko vēlaties pievienot - lietojumprogrammatūra, skripti, dati utt. Konteineri ir noderīgi daudzām lietām, taču šeit es pievērsīšos tikai vienam: jaunu programmatūras versiju pārbaudei nesaskrūvējot pašreizējo vietējo iestatījumu.

Darbināt R 4.0 un jaunāko RStudio priekšskatījuma laidienu Docker konteinerā ir diezgan viegli. Ja nevēlaties sekot līdzi šīs apmācības Docker daļai un vēlaties tikai redzēt R jaunumus, ritiniet uz leju līdz sadaļai “Trīs jaunas R 4.0 funkcijas”.

Palaidiet R 4.0 Docker konteinerā

Ja jūs būtu vēlaties sekot līdzi, instalējiet darbvirsmas Docker savā sistēmā, ja jums to vēl nav: dodieties uz //www.docker.com/products/docker-desktop un lejupielādējiet pareizo darbvirsmas versiju savam datoram (Windows, Mac vai Linux). Pēc tam palaidiet to. Jums vajadzētu redzēt vaļu Docker ikonu, kas darbojas kaut kur jūsu sistēmā.

Sharon Machlis,

Tālāk mums ir nepieciešams Docker attēls R 4.0. Jūs varat domāt par Docker attēlu kā instrukciju kopu, lai izveidotu konteineru ar iekļautu īpašu programmatūru. Paldies Adelmo Filho (datu zinātnieks Brazīlijā) un Rocker R Docker projektam, kas nodrošina ļoti noderīgus Docker attēlus. Es nedaudz pārveidoju viņu Docker attēlus, lai padarītu to, kuru izmantoju šajā apmācībā.

Šeit ir sintakse palaist Docker attēlu savā sistēmā, lai izveidotu konteineru.

docker palaist --rm -p 8787: 8787 -v / path / to / local / dir: / home / rstudio / newdir lietotājvārds / docker_image_name: image_tag

dokeris ir tas, kā jums jāsāk jebkura Docker komanda. palaist nozīmē, ka es vēlos palaist attēlu un no šī attēla izveidot konteineru. The --rm karodziņš nozīmē konteinera noņemšanu, kad tas ir pabeigts. Jums nav ir iekļaut --rm; bet, ja jūs izmantojat daudz konteineru un tos neizdzēšat, tie sāks aizņemt daudz diska vietas. The -8787: 8787 ir nepieciešama tikai attēliem, kuriem jāpalaiž sistēmas portā, ko RStudio dara (tāpat kā to dara arī Spīdīgais, ja kādreiz plānojat to iekļaut). Komanda iepriekš norāda portu 8787, kas ir RStudio parastais noklusējums.

The -v izveido sējumu. Vai atceraties, kad es teicu, ka Docker konteineri ir patstāvīgi un izolēti? Tas nozīmē izolēts. Pēc noklusējuma konteiners nevar piekļūt jebko ārpus tā, un pārējā jūsu sistēma nevar piekļūt neko iekšā konteiners. Bet, ja iestatāt skaļumu, varat saistīt vietējo mapi ar mapi konteinerā. Tad viņi automātiski sinhronizējas. Sintakse:

-v ceļš / uz / vietējo / ​​direktoriju: / ceļš / uz / konteineru / direktoriju

Izmantojot RStudio, jūs parasti izmantojat / home / rstudio / nosaukums_jaunais_direktorijs konteineru direktorijai.

Pēc beigām dokeru skrējiens komanda ir attēla nosaukums, kuru vēlaties palaist. Mans attēls, tāpat kā daudzi Docker attēli, tiek saglabāts Docker Hub - pakalpojumā, kuru Docker ir iestatījis attēlu koplietošanai. Tāpat kā ar GitHub, jūs piekļūstat projektam, norādot lietotājvārds / reponame. Šajā gadījumā jūs arī parasti pievienojat : the_tag, kas palīdz, ja vienam attēlam ir dažādas versijas.

Zemāk ir kods, kuru varat modificēt, lai mans attēls tiktu palaists ar R 4.0 un jaunāko RStudio priekšskatījuma laidienu jūsu sistēmā. Noteikti nomainiet ceļu uz vienu no jūsu katalogi / Lietotāji / smachlis / Dokuments / MoreWithR. To var palaist Mac termināļa logā vai Windows komandu uzvednē vai PowerShell logā.

docker palaist --rm -p 8787: 8787 -v / Users / smachlis / Documents / MoreWithR: / home / rstudio / more with sharon000 / my_rstudio_image: version1

Pirmo reizi palaižot šo komandu, Docker būs jālejupielādē attēls no Docker Hub, tāpēc tas var aizņemt kādu laiku. Pēc tam, ja vien neizdzēsīsit attēla vietējo kopiju, tam vajadzētu būt daudz ātrākam.

Tagad, kad atverat vietējais saimnieks: 8787 pārlūkprogrammā jums vajadzētu redzēt RStudio.

Sharon Machlis,

Pēc noklusējuma lietotāja vārds un parole ir rstudio, kas, protams, būtu briesmīgi, ja jūs to palaistu mākonī. Bet es domāju, ka tas ir labi manā vietējā mašīnā, jo man parasti nav jebkurš parole manā parastajā RStudio darbvirsmā.

Ja pārbaudīsit R versiju konteinerā R / RStudio, redzēsit, ka tā ir 4.0 versija. RStudio vajadzētu būt versijai 1.3.947, jaunākajai priekšskatījuma laidienai šī raksta pirmās publicēšanas laikā. Abas šīs versijas atšķiras no tām, kas instalētas manā vietējā mašīnā.

Trīs jaunas R 4.0 funkcijas

Tagad aplūkosim dažas jaunas R 4.0 funkcijas.

Jaunas virknesAsFactors ir noklusējuma

Tālāk esošajā kodā es izveidoju vienkāršu datu rāmi ar informāciju par četrām pilsētām un pēc tam pārbaudu struktūru.

 Pilsēta <- c ("Ņujorka", "Sanfrancisko", "Bostona", "Sietla") štats <- c ("NY", "CA", "MA", "Sietla") PopDensity <- c (26403 , 18838, 13841, 7962) blīvumi <- data.frame (City, State, PopDensity) str (blīvumi) 'data.frame': 4 obs. no 3 mainīgajiem: $ City: chr "New York" "San Francisco" "Boston" "Seattle" $ State: chr "NY" "CA" "MA" "Seattle" $ PopDensity: num 26403 18838 13841 7962 

Vai pamanāt kaut ko negaidītu? Pilsēta un štats ir rakstzīmju virknes, kaut arī es nenorādīju stringsAsFactors = FALSE. Jā, beidzot R data.frame noklusējums ir stringsAsFactors = FALSE. Ja es palaidīšu to pašu kodu vecākā R versijā, pilsēta un štats būs faktori.

Jaunas krāsu paletes un funkcijas

Pēc tam apskatīsim jaunu iebūvēto funkciju R 4.0: palette.pals (). Tas parāda dažas iebūvētas krāsu paletes.

 palette.pals () [1] "R3" "R4" "ggplot2" "Okabe-Ito" [5] "Akcents" "Tumšs 2" "Pāris" "Pastelis 1" [9] "Pastelis 2" "1. komplekts" "Komplekts 2" "Komplekts 3" [13] "Tablo 10" "Klasisks galds" "Polihroms 36" "Alfabēts" 

Vēl viena jauna funkcija, palete.colors (), sniedz informāciju par iebūvēto paleti.

 palete.colors (palete = "Tableau 10") zila oranža sarkana gaiši zila dzeltena violeta "# 4E79A7" "# F28E2B" "# E15759" "# 76B7B2" "# 59A14F" "# EDC948" "# B07AA1" rozā brūna gaiši pelēka " # FF9DA7 "" # 9C755F "" # BAB0AC " 

Ja pēc tam palaižat svaru paketi show_col () Rezultātu funkcija nodrošina jauku krāsu paletes attēlojumu.

svari :: show_col (palete.colors (palete = "Tableau 10"))

Sharon Machlis,

Es izveidoju nelielu funkciju, apvienojot abas, kas varētu būt noderīgas, lai aplūkotu dažas iebūvētās paletes vienā koda rindā:

display_built_in_palette <- funkcija (mana_palete) {

svari :: show_col (palete.colors (palete = my_palette))

}

display_built_in_palette ("Okabe-Ito")

Sharon Machlis,

Neviens no šiem kodiem nedarbojas iepriekšējās R versijās, jo tikai svari :: show_col () ir pieejams pirms R 4.0.

Bēgšana no rakstzīmēm virknēs

Visbeidzot, apskatīsim jaunu funkciju, kas atvieglo rakstzīmju iekļaušanu virknēs, no kurām parasti ir jāizbēg.

Sintakse ir r "(mana virkne šeit)". Šeit ir viens piemērs:

string1 <- r "(" Man vairs nevajag izvairīties no šiem "divkāršajiem citātiem citātā," viņi teica.) "

Šajā virknē dubulto pēdiņu pāra iekšpusē ir nesabēgta pēdiņa. Ja es parādu šo virkni, es saņemu šo:

 > cat (string1) "Man vairs nevajag izvairīties no šiem" divkāršajiem citātiem citātā ", viņi teica. 

Es varu arī izdrukāt burtnīcu \ n jaunās funkcijas iekšpusē.

 string2 <- r "(Šeit ir slīpsvītra n \ n)" cat (string2) Šeit ir slīpsvītra n \ n 

Bez īpašā r "()" funkcija \ n tiek lasīts kā rindiņu pārtraukums un netiek parādīts.

 string3 <- "Šeit ir slīpsvītra n \ n" cat (string3) Šeit ir slīpsvītra n 

Pirms tam R bāzē jums vajadzēja izvairīties no pretējās slīpsvītras ar otru atpakaļsvītru.

 string4 <- "Parasts izbēdzis \ n" kaķis (virkne4) Parasts izbēdzis \ n 

Šajā piemērā tas nav liels darījums, taču tas var kļūt sarežģīts, strādājot pie kaut kā līdzīgiem sarežģītiem regulāriem izteicieniem.

R 4.0 ir daudz vairāk jaunu. Jūs varat pārbaudīt visu informāciju R projekta vietnē.

Lai uzzinātu vairāk par Docker izmantošanu ar R, skatiet rOpenSci Labs īso, bet lielisko R Docker apmācību.

Un, lai iegūtu vairāk R padomu, dodieties uz lapu Darīt vairāk ar R!